![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите найти ошибку в триггере, я не могу увидеть. Пожалуйста. [MSSQL]
oleon © (2002-12-20 17:32:00)... почему-то триггер выполняется, но в поле ComoName Ничего не записывается... почему?
CREATE TRIGGER AUDIT_SUBDIV ON tbSubdiv
FOR INSERT
AS
BEGIN
declare @time_now datetime
declare @ID int
declare @CompNAME varchar(50)
select @CompNAME = HOST_NAME()
set @Time_now = getdate()
select @ID = id from inserted
INSERT INTO tbAUDIT(OPERTYPE, TIME_DATE, username, tablename, comp_name, prim_key)
VALUES("I", @time_now, SYSTEM_USER, "tbSubDiv", @CompName, @ID)
END
oleon (2002-12-23 11:55:00) [1]все понятно, спасибо...
3JIA9I CyKA (2002-12-20 21:50:00) [2]>>Как я теперь понимаю(ну не знал я этого, стыдно, конечно, но
>>просто не сталкивался раньше) в Inserted будет не одна запись
>>и нужно будет последовательно каждую обрабатывать?
см SergSuper (20.12.02 17:41)
oleon (2002-12-20 18:47:00) [3]А когда будет добавляться сразу несколько записей, то нужно будет через курсоры все это делать.
Как я теперь понимаю(ну не знал я этого, стыдно, конечно, но просто не сталкивался раньше) в Inserted будет не одна запись и нужно будет последовательно каждую обрабатывать?
вот в InterBase можно было написать
for select .... do
Begin
End
oleon (2002-12-20 18:24:00) [4]да я вставляю из своей же программы по одной записи вроде как...
но пока у меня проблемма не с этим, а с тем почему у меня HOST_NAME() ничего не определяет...
3JIA9I CyKA (2002-12-20 18:14:00) [5]А с чего Вы взяли, что в insertedодна запись?!
oleon (2002-12-20 17:54:00) [6]укоротить согласен, спасибо...
но как же все таки установить имя компьютера можно...
как моя клиентская программа может установить имя компьютера, разве сервер сам автоматически не видит его когда я подключаюсь?
SergSuper (2002-12-20 17:41:00) [7]Наверное потому что клиентская программа не устанавливает имя компьютера. Кстати - почему Вы не хотите написать покороче:
CREATE TRIGGER AUDIT_SUBDIV ON tbSubdiv
FOR INSERT
AS
INSERT INTO tbAUDIT(OPERTYPE, TIME_DATE, username, tablename, comp_name, prim_key)
select "I", getdate(), SYSTEM_USER(),"tbSubDiv", HOST_NAME(), id from inserted