![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Declare variable N integer; [D5, IB5.x, ]
dim © (2002-01-10 10:16:00)Приветствую всех!
Коллеги каким образом присвоить значение об"явленной переменной в
InterBase"е. В MS SQL это проделывал при помощи select"а, т.е.
select N = value; А вот в InterBase"e как?
dim (2002-01-10 10:51:00) [1]>Alexandr
Согласен, пример немного корявый. Спасибо за помощь помогло.
Alexandr (2002-01-10 10:51:00) [2]пожалуста
Romkin (2002-01-10 10:49:00) [3]if (:valid is null) then
и здесь без двоеточия великолепно работает...
Alexandr (2002-01-10 10:48:00) [4]дорогой, сравни пожалуйста мой вариант со своим.
И почувстсвуй разницу!
dim (2002-01-10 10:46:00) [5]>Romkin.
К сожалению не прошло. Написал так:
if (:valid is null) then
:VALDEP = 9999; :VALPOST = 9999;
else
:VALDEP = 7777; :VALPOST = 7777/;
и ругается на ":" в строке 2
Alexandr (2002-01-10 10:44:00) [6]вот так надо, видимо.
Хотя странная логика у процедуры...
Весьма странная.
CREATE PROCEDURE SAMPLE
*
*
)AS
DECLARE VARIABLE VALDEP INTEGER;
DECLARE VARIABLE VALPOST INTEGER;
DECLARE VARIABLE VALID INTEGER;
BEGIN
select M_ID,M_DEP,M_POST from ok_movement
where M_HUMAN=:HUMAN and M_ORDER=:VALPr and M_DATA=:VALDatPr and BIT=:VALBit
into :VALID, :VALDEP, :VALPOST;
if (:valid is null) then
begin
VALDEP = 9999;
VALPOST = 9999
end
else
begin
VALDEP = 7777;
VALPOST = 7777;
end;
Romkin (2002-01-10 10:35:00) [7]или просто N = 2
Правило простое - в команде SQL, где могут быть имена полей, перед переменной ставишь ":", в остальных случаях не надо. Присваивание - через =, и ; в конце
dim (2002-01-10 10:33:00) [8]Нет не то. Я объявил переменную в теле хранимой процедуры и в зависимости от полученных данных о записи присвоить значение переменной, например:
CREATE PROCEDURE SAMPLE
*
*
)AS
DECLARE VARIABLE VALDEP INTEGER;
DECLARE VARIABLE VALPOST INTEGER;
DECLARE VARIABLE VALID INTEGER;
BEGIN
select M_ID,M_DEP,M_POST from ok_movement
where M_HUMAN=:HUMAN and M_ORDER=:VALPr and M_DATA=:VALDatPr and BIT=:VALBit
into :VALID, :VALDEP, :VALPOST;
if (:valid is null) then
select :VALDEP = 9999, :VALPOST = 9999//вот здесь и не понятно
else
select :VALDEP = 7777, :VALPOST = 7777//и вот здесь тоже
Alexandr (2002-01-10 10:24:00) [9]select
from
where
into :