Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Подсчет количества записей 


Malder   (2002-03-16 13:55) [0]

как подсчитать количество записей в таблице, где поле такое-то равно тому-то ? То есть это типа:


SELECT count(*) From Table1 where Pole1="test"

Но мне надо записать это значение в какую-нибудь переменную, чтоб потом с ним работать. А также это надо реализовать на стороне СЕРВЕРА, а не клиента



dymka   (2002-03-16 14:15) [1]

Перед использованием на стороне сервера (процедура или триггер) вызывай свой код, типа
...
declare variable recordcount integer;
...
select count(*) from table1 where pole1="test" into :recordcount;
...
и здесь мучай ее на здоровье :)



Malder   (2002-03-16 14:44) [2]

Выполняю такую вещь в ISQL:

CREATE TRIGGER CheckTelefonInsert FOR Manager_view
BEFORE INSERT POSITION 1
AS
DECLARE VARIABLE RecordCount integer;
BEGIN
select count(*) from Pers where Telefon=new.telefon into :RecordCount;
if i<>0 then exception TestException;
END

Не получается - пишет:

Unexpected end of command

Я знаю что там можно SET TERM ^; делать, но почему то не получается никак.
Раньше, если тело было в одну строчку, то я просто ставил ;;
То есть, если б не было if i<>0 then exception TestException;, то можно было бы написать select count(*) from Pers where Telefon=new.telefon into :RecordCount;;

Как преоброзовать кол, чтобы он в ISQL выполнился ?



dymka   (2002-03-16 15:17) [3]

Обязательно нужно юзать SET TERM

SET TERM ^ ;

CREATE TRIGGER CheckTelefonInsert FOR Manager_view
BEFORE INSERT POSITION 1
AS
DECLARE VARIABLE RecordCount integer;
BEGIN
select count(*) from Pers where Telefon=new.telefon into :RecordCount;
if (RecordCount<>0) then exception TestException;
END^

SET TERM ; ^



Malder   (2002-03-16 15:21) [4]

dymka, спасибо !




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.044 c
14-22842          skywalker             2002-02-26 14:47  2002.04.08  
Нибиру


3-22535           MAxiMum               2002-03-14 14:56  2002.04.08  
Как отобразить в DBGrid номер строки?


7-22861           dima_yn               2002-01-16 13:58  2002.04.08  
Как узнать код возврата DOS-программы...


4-22886           Котелок               2002-02-07 06:13  2002.04.08  
Api по Com порту и модему


1-22648           Сатир                 2002-03-26 19:12  2002.04.08  
Динамическое подключение пакетов