Страница 1 из 1

параметры и переменные в выражениях Stored Proc

Добавлено: 17 фев 2006, 13:33
DSKalugin
на сколько я знал, в выражениях ХП перед переменными и параметрами двоеточние не ставится, вот и не ставил и все прекрасно работало. Теперь, читая DataDef.pdf (InterBase 6 Data Definition
Guide стр 172-173) натыкаюсь на примеры, в которых то ставятся двоеточия то не ставятся в выражениях

Код: Выделить всё

IF (emp_wo_proj = 5) THEN ********
*****************
IF ((:product <> 'software') OR (:product <> 'hardware') OR
(:product <> 'other') OR (:product <> 'N/A')) THEN
result = 'Enter product: software, hardware, other, or N/A';
КАК ЖИТЬ ДАЛЬШЕ?

Добавлено: 17 фев 2006, 13:44
kdv
очень просто. лично я следую такому правилу -
для входных, выходных и локальных переменных процедуры (или локальных переменных триггеров), двоеточие перед такой переменной НЕ ставится если переменной присваивается значение. В остальных случаях - двоеточие ставлю всегда. Например

Код: Выделить всё

...
declare variable myvar int;
...
  myvar = :myvar+1;
вот и все. собственно, двоеточия здесь ставить необязательно, но на мой взгляд двоеточия помогают быстрее визуально определить, где имена переменных, а где имена столбцов.

Добавлено: 22 мар 2006, 15:47
ivl
Двоеточие перед локальной переменной, входным или выходным параметром должно обязательно ставиться если они используются в операторах SELECT, INSERT, DELETE и UPDATE.
В других операторах (IF и пр.) ставить не рекомендуется, но допустимо.
(кроме как слева от оператора "=").