Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.07;
Скачать: CL | DM;

Вниз

Declare variable N integer;   Найти похожие ветки 

 
dim ©   (2002-01-10 10:16) [0]

Приветствую всех!
Коллеги каким образом присвоить значение об"явленной переменной в
InterBase"е. В MS SQL это проделывал при помощи select"а, т.е.
select N = value; А вот в InterBase"e как?


 
Alexandr ©   (2002-01-10 10:24) [1]

select
from
where
into :


 
dim ©   (2002-01-10 10:33) [2]

Нет не то. Я объявил переменную в теле хранимой процедуры и в зависимости от полученных данных о записи присвоить значение переменной, например:
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//и вот здесь тоже


 
Romkin ©   (2002-01-10 10:35) [3]

или просто N = 2
Правило простое - в команде SQL, где могут быть имена полей, перед переменной ставишь ":", в остальных случаях не надо. Присваивание - через =, и ; в конце


 
Alexandr ©   (2002-01-10 10:44) [4]

вот так надо, видимо.
Хотя странная логика у процедуры...
Весьма странная.
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;


 
dim ©   (2002-01-10 10:46) [5]

>Romkin.
К сожалению не прошло. Написал так:
if (:valid is null) then
:VALDEP = 9999; :VALPOST = 9999;
else
:VALDEP = 7777; :VALPOST = 7777/;
и ругается на ":" в строке 2


 
Alexandr ©   (2002-01-10 10:48) [6]

дорогой, сравни пожалуйста мой вариант со своим.
И почувстсвуй разницу!


 
Romkin ©   (2002-01-10 10:49) [7]

if (:valid is null) then
и здесь без двоеточия великолепно работает...


 
dim ©   (2002-01-10 10:51) [8]

>Alexandr
Согласен, пример немного корявый. Спасибо за помощь помогло.


 
Alexandr ©   (2002-01-10 10:51) [9]

пожалуста



Страницы: 1 вся ветка

Текущий архив: 2002.02.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
3-18694
Rub
2002-01-09 13:05
2002.02.07
Наверняка что нужно многим ...........


3-18737
МАРАТ
2002-01-05 09:51
2002.02.07
Поле типа TIME


14-18988
borisich
2001-12-16 18:36
2002.02.07
Собрался принтер покупать (струйный)


1-18854
Dmitry S. Negriy
2002-01-22 16:07
2002.02.07
Прикол: TMemoryStream.Memory^ = (no value), хотя остальное видит


1-18811
Марина
2002-01-25 09:03
2002.02.07
Динамическая память