Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Извините за офтоп. Просто посмеяться

Вчера обучаем кадровика работать на компьютере.
Набирает он приказ о приеме. Пишет фамилию на буржуйском, мы ему говорим
- "На английском пишете, смените шрифт.."
- Так я же на красные буквы нажимаю...
Ответ: На одной из старых работ одна тётя хранила нужные ей документы в "Корзине" и при этом просила никого её не чистить.

Ещё она говорила "клюкнуть мышкой" :)
Вопрос: а *.FDB можно просто так и удалить ?

если нет живых соединений то fb, стартуя не блокирует
базы ? можно просто так взять и удалить...скопировать...
непривычно как-то после MSSQL...вообще пока не пришел
запрос на соединение, так FB о базе ничего и не знает...

а как сделать чтобы он постоянно с базой был на конекшене
вне зависимости от наличия клиентов ? также и база будет
заблокирована для тупого удаления и время соединения
будет меньше , чем если он каждый раз будет заново
как только первый клиент появится


для дистрибуции это удобно - можно базы перемещать
и в DNS просто менять путь, так же ?

а юзеров с пермитами где он хранит, в реестре
или в файле кторый тоже можно перенести ?

а JOB-ы есть ?
а внешнюю прогу умеет запускать ?
а почту умеет рассылать ?
а дровами для импорта (напр из excel) умеет пользоваться ?
а сжать базу можно (пока в маэстро не нашел фишки) ?


извините, что пару часиков потыкал FB и уже с недоумками лезу
Ответ:
SangYong
абсолютно не приемлемо хламить все прайсы в одну таблицу

Религия мешает?..

Posted via ActualForum NNTP Server 1.5

Вопрос: Это баг, фича или просто особенности работы PostgreSQL с датами ?

Здравствуйте !
Скачал с сайта postgrespro.ru и установил PostgreSQL 9.6.1 32-разрядная (сборка под Windows Server 2003).
Проблема вот в чем:
Есть таблица с полем "timestamp without time zone", нужно сделать выборку за последние несколько минут (10 например).
Запрос "select * from test where time > (now() - ''10 mins'::interval)" выдает результат с учетом зоны, а
Запрос "select * from test where time between (now() - ''10 mins'::interval) and now()" выдает верный результат.
Это баг, фича или просто особенности работы PostgreSQL с датами ? Или это просто данная версия глючит ? Или я в чем-то не прав ?
Ответ:
kigora
З.Ы.
это таки баг. но глючит тут не пж, а ганглий школоты.
вам надо вчитаться в типы пж, и выяснить, чем чреваты неявные преобразования типов в пж.

ИМХО баг и в пж, т.к. я вижу то что вижу, ничего явно и неявно не преобразуя


у типа "виз тайм зон" кроме явного хранения абсолютного значения в UTC явно оговорен "интерфейс" его представления в таймзоне клиента. т.е. значение не меняется, но его представление -- да.
т.е. то "что я вижу" -- меняется, а то, что это изменяемое означает -- неизменно.

"это невозможно понять, это нужно запомнить" (как в случае с "вилька, тарелька и жмел")
Вопрос: WHERE не фильтрует по аргументу функции, но фильтрует просто по строке

Добрый день. Скажите пожалуйста почему в данном куске кода

create or replace function check_chair_work (first_name in varchar2, second_name in varchar2, 
patronymic in varchar2, faculty_name in chairs.faculty_name%type, phone_number out employees.mobile_phone%type)
return boolean 
is 
	result boolean := false;
	--f_code chairs.faculty_code%type;
	f_code integer;
	e_code employees.employee_code%type;

	es employees%rowtype;

	cursor contracts_per_faculty(f_code in number) return contracts%rowtype
	is
		select * from contracts where faculty_code = f_code;
		
	cpf contracts_per_faculty%rowtype;
begin
	dbms_output.put_line(faculty_name);

	select faculty_code 
	into f_code 
	from chairs 
	where trim(chairs.faculty_name) = [b]faculty_name[/b] offset 0 rows fetch next 1 rows only;

Если на место faculty_name подставить просто строку ('IEF') то фильтрация происходит все в порядке, но если просто использовать аргумент функции то фильтрации нету, и возвращаются все строки?
Ответ: 1=1, 2=2, а faculty_name = faculty_name.

В запросе нужно явно указать, что справа от = параметр функции, а не столбец таблицы (по умолчанию):
where trim(chairs.faculty_name) = check_chair_work.faculty_name ...
Вопрос: Оптимизировать просто запрос

Надо, оптимизировать просто запрос...
Вроде можно одним SELECT, с использованием JOIN

CODE (SQL):

  1. SELECT t. * , c.id AS cid, c.firstname, c.surname, c.birth_day, c.passport_number, c.passport_info, c.address_info, (
  2.     SELECT w.amount
  3.     FROM withdrawal w
  4.     WHERE w.product_id = t.id
  5.     AND w.product_type =1
  6.     ORDER BY w.id DESC
  7.     LIMIT 1
  8. ) AS w_amount, (
  9.     SELECT w.months
  10.     FROM withdrawal w
  11.     WHERE w.product_id = t.id
  12.     AND w.product_type =1
  13.     ORDER BY w.id DESC
  14.     LIMIT 1
  15. ) AS w_months, (
  16.     SELECT w.days
  17.     FROM withdrawal w
  18.     WHERE w.product_id = t.id
  19.     AND w.product_type =1
  20.     ORDER BY w.id DESC
  21.     LIMIT 1
  22. ) AS w_days
  23. FROM tamasuki t, clients c
  24. WHERE c.id = t.client_id AND t.id=". $id . "
  25. GROUP BY t.id
  26. LIMIT 1



Сделал так, вроде выводиться всё, но LEFT JOIN ведь нужен... LEFT JOIN `withdrawal` w ON (w.product_id = t.id AND w.product_type =1)
CODE (SQL):

  1. SELECT t. * , c.id AS cid, c.firstname, c.surname, c.birth_day, c.passport_number, c.passport_info, c.address_info, w.amount AS w_amount, w.months AS w_months, w.days AS w_days
  2. FROM tamasuki t, clients c, withdrawal w
  3. WHERE c.id = w.client_id AND t.id=". $id . "
  4. GROUP BY t.id
  5. LIMIT 1



т.е. В запрос надо подключить таблицу withdrawal и в условие WHERE уже сделать не client_id из таблицы tamasuki , а client_id из таблицы withdrawal

Сделать это через LEFT JOIN, или как у меня через несколько SELECT это вам решать... поэтому я тут и отписал...

спс.Ув.

(Отредактировано автором: 22 Сентября, 2016 - 01:37:24)

Ответ:
???
Вопрос: Что значит просто join в запросе?

В гугле ищу, там джоины с разными типами. типа inner,left,right. А если просто select ... from table1 join table2 то это что?
Ответ:
Сообщение от goblin-boblin
это что
То же самое, что INNER JOIN. В каких-то диалектах INNER можно опускать, в каких-то нет.

PS
Гугл хорошо, а дока лучше
Вопрос: Можно ли перенести посгрес на другой сервер просто скопировав PGDATA ? (виндоус)

Добрый день.


Можно ли перенести посгрес на другой сервер просто скопировав PGDATA ? (виндоус)


Или там еще какие-то пляски потребуются?



Постгресс установлен ту да же на новом сервере.
Ответ: Читаем доку -
Всегда можно было
Вопрос: Курилка

Может, открыть для желающих выговориться или попостить всякий околооракловый бред? Тут есть одна курлика, но называется "просто посмеяться". А жизнь - она шире-то, жизнь!
Ответ: K790,

недавно столкнулся с темой Комментарий, поиск почему то привел к ней, и вывод, что лучше иметь клиента в соответствии с БД.
Вопрос: Курилка

Может, открыть для желающих выговориться или попостить всякий околооракловый бред? Тут есть одна курлика, но называется "просто посмеяться". А жизнь - она шире-то, жизнь!
Ответ: K790,

недавно столкнулся с темой , поиск почему то привел к ней, и вывод, что лучше иметь клиента в соответствии с БД.
Вопрос: помогите бывалые кодеры и просто неравнодушные)

Вобщем ситуация такая иммеем БД написанную не мной. следовательно разбираться в коде очень муторно. Нужно на время сделать так чтобы в одно поле вместо автозаполнения можно было забивать руками а потом опять вернуть всё на место. вопрос как?)
Ответ: Спасибо большое всем отписавшимся. Я на тёмную сторону силы поку что не пойду)))
Просто на новом месте работы сегодня второй день поэтому хотелось сразу не заморачиваться а читануть)
Видимо получилось)
Еще раз Спасибо!