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

Вниз

Использование триггера при генерировании нового значения поля   Найти похожие ветки 

 
YA ©   (2004-07-05 12:18) [0]

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


 
Соловьев ©   (2004-07-05 12:19) [1]


> поля на клиенте нельзя использовать триггер?

потому как трггер и клиент - разные вещи. Может ты пгенератор имеешь ввиду?


 
Курдль ©   (2004-07-05 12:25) [2]


> генерировании нового значения поля на клиенте нельзя использовать
> триггер?И вообще что лучше всего и проще всего применять?


Генерировать новое поле на клиенте - самое милое дело! В основном, все приложения этим только и занимаются. Но только не генерацией первичного ключа! Это прерогатива СУБД. Проще применять автоинкрементные поля (Sybase, MSSQL) а лучше - генераторы (IB, FB) или последовательности (oracle).


 
YA ©   (2004-07-05 12:33) [3]

Вот написал я генератор и что дальше?Как мне поместить его значение в таблицу,почему-то хранимые процедуры не помогают


 
Соловьев ©   (2004-07-05 12:34) [4]

приведите код который у Вас ошибку выдает.


 
Johnmen ©   (2004-07-05 12:34) [5]

А на ibase.ru ходил ? Вообще к.-н. литературу по теме читал ?


 
Курдль ©   (2004-07-05 12:36) [6]


> YA ©   (05.07.04 12:33) [3]
> Вот написал я генератор и что дальше?Как мне поместить его
> значение в таблицу,почему-то хранимые процедуры не помогают

Попробуйте транзакции. Наверняка помогут (чур я первый посоветовал!)


 
YA ©   (2004-07-05 12:39) [7]

Как только начинаю редактировать,выдаёт:
class EOleSysError
"Член группы не найден"


 
Johnmen ©   (2004-07-05 12:45) [8]

Странно... У меня нормально, выдаёт "Член найден"
:)


 
Vlad ©   (2004-07-05 12:53) [9]


> Johnmen ©   (05.07.04 12:45) [8]


> ... У меня нормально, выдаёт "Член найден"

ты че за систему там разрабатываешь а ? :-)))


 
Johnmen ©   (2004-07-05 12:57) [10]

>Vlad ©   (05.07.04 12:53) [9]

Да это я попробовал сделать, как у автора...
:)


 
Anatoly Podgoretsky ©   (2004-07-05 13:12) [11]

Johnmen ©   (05.07.04 12:57) [10]
А, а то мы тут такое подумали, особенно в свете одноименного спама :-)


 
wisekaa ©   (2004-07-05 13:18) [12]

Боюсь у тебя проблемы в непонимании, из-за чего ошибки лезут.

А заначения ID можно в IB сделать разными способами, самое главное создать для этого генератор.

CREATE GENERATOR GEN_myTable_ID;

  - прямо в тригере
    CREATE TRIGGER myTable_BI FOR myTable
    ACTIVE BEFORE INSERT POSITION 0
    AS
    BEGIN
     IF (NEW.ID IS NULL) THEN
       NEW.ID = GEN_ID(GEN_myTable_ID,1);
    END

  - в хранимо процедуре
     CREATE PROCEDURE GET_ID_myTable
      RETURNS (ID INTEGER)
      AS
     BEGIN
      ID = GEN_ID(GEN_myTable_ID, 1);
     END

  - в SQL запросе
     aQry.SQL.text:="select gen_id(GEN_myTable_ID,1) from RDB$GENERATORS "+
                 "where UPPER(RDB$GENERATORS.RDB$GENERATOR_NAME)=GEN_myTable_ID";



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

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

Наверх




Память: 0.5 MB
Время: 0.034 c
6-1085985936
Micah'GF
2004-05-31 10:45
2004.08.01
Winsock: recv постоянно возвращает 65535


14-1089922108
bloodman
2004-07-16 00:08
2004.08.01
Компонент для Delphi


3-1089000280
Алексей Петухов
2004-07-05 08:04
2004.08.01
Кодировка


3-1089063526
Sir John
2004-07-06 01:38
2004.08.01
TclientDataSet и поля с autoincrement


3-1089120573
Philosoph
2004-07-06 17:29
2004.08.01
Autoincrement поле в Paradox