Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
Dobrij den'..
U menja takoi vot vopros..

Ja sozdal trigger na tablicu, i tam opredeljaju kakogo tipa operacii bili proizvedeni nad tablicej..
Skajem

IF( EXISTS(SELECT * FROM INSERTED) AND EXISTS(SELECT * FROM DELETED))
BEGIN
DECLARE @STR AS VARCHAR(128)
SELECT @CurrentColumnName FROM INSERTED
END

Gde @CurrentColumnName eto peremennaja kotoraja soderjit tekushee imja kolonni
No tak mne SQL vozvrashajet prosto imja kolonni , jesli ja delaju UPDATE v Query Analizer, kak jammogu poluchit' ZNACHENIJE V etoj kolonne...
Jesli ja pishu javno imja, vmesto @CurrentColumnName, to vsje rabotajet zamechatel'no, no v mojem sluchaje eto ne prijemlimo i potomu xotelos' bi imet' bolee gibkij mexanizm
dlja rabori s tablicej
Kto to mojet chto libo posovetovat'??
26 авг 03, 12:54    [315116]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2386
Блог
Try dynamic queries. Look for EXEC & sp_executesql in BOL
26 авг 03, 13:10    [315160]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
Eto ne pomogajet potomu chto,kogda ja pishu

EXEC('SELECT ' + @CurrentColumnName + ' From INSERTED')

SQL mne otvechejt chto
'Invalid object name INSERTED'...
26 авг 03, 13:16    [315181]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Dobrij den'..
U menja takoi vot vopros..

Ja sozdal trigger na tablicu, i tam opredeljaju kakogo tipa operacii bili proizvedeni nad tablicej..


А поподробней, что сделать то надо?
26 авг 03, 13:22    [315194]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
Nujno sozdvat' sobstvennij log..
Poetomu ja v triggere poluchaju vse colonni tablici posredstvom sp_columns, i potom sozdaju cursor na novuju vremennuju tablicu v kotoruju bili zabiti rezul'tati ot sp_columns, i potom v cikle poluchaju pooocheredno imja kolonni iz temp tablici zabiovaju jego v @CurrentColumnName...
iz tablici INSERTED ja xochu poluchit' znachenija kotorije bili inserirovanni...
i potom iz nix szdavat' stroku i zapisivat' v moju tablicu Log v pole StrokaModificirovannaja, skajem..
Vot i vsje..
26 авг 03, 13:30    [315208]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А как такое?:

BOL:

deleted and inserted are logical (conceptual) tables. They are structurally similar to the table on which the trigger is defined, that is, the table on which the user action is attempted, and hold the old values or new values of the rows that may be changed by the user action.
26 авг 03, 13:34    [315215]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
Glory
Member

Откуда:
Сообщений: 104760
select * into #inserted from inserted
EXEC('SELECT ' + @CurrentColumnName + ' From #INSERTED')

PS
Универсальный триггер пишем ???
26 авг 03, 13:48    [315255]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
Jesli chestno ja ne pponajl jk chemu ti klonish:)
26 авг 03, 13:51    [315263]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
da da imenno universal'nij trigger, jesli potom poluchitsa vsje zapixnu v SP_ i potom iz sp daje poluchat' imja tablici i vsje ostal'noje...Sejchas probuju tvoj variant...
26 авг 03, 13:53    [315266]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
KOLCHOZ_POSTEVENT
Guest
Господа,мне приходилось не создавать самому,а консультировать создание собственного лога.
Т.к. речь шла о Powerbuilder,а он objectoriented,то мы пришли к выводу,что это надо делать со стороны client,ввиду обжект ориентности клиента,вылов всех SQL комманд клиента к серверу труда не составил,даже удалось разделить их на 2 файла:один с запросами ,другой с изменениями.Правда,у каждого клиента был свой лог,в принципе,их можно было бы слить в один файл во сети,но решили сеть этим не напрягать.
Может и Вам подумать об этом со стороны клиента.
26 авг 03, 13:57    [315284]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
Ves' voporos v tom chto eto uje podumano i daje sdelano:)
Mi sejchas rabotajem v srede .NET...
No..ja reshil perejti na 'storonu' MS SQL v silu togo chto , zakazchik skoree ne budet imet' kompjutere dostatochno moshnoje, i v silu svedenija k minimuma traffika v seti, potomu chto budut clieti okolo 200, i eto tol'ko nachalo...
Vot poetomu, jesli mojete posovetovat' chto to optimal'nee, budet interestno obsudit'..
26 авг 03, 14:04    [315295]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
Spaibo, zarabotalo...:)
26 авг 03, 14:24    [315341]     Ответить | Цитировать Сообщить модератору
 Re: Porblema s SELECT  [new]
T2000
Member

Откуда:
Сообщений: 97
Novije problemi...
Jesli ja pishu

DECLARE @VAL AS SQL_VARIANT
SELECT @VAL EXEC('SELECT ' + @ColumnName + ' FROM Customers)

@VAL n epoluchajet nikakogo znachenija:(
kak mne poluchit' ZNACHENIJE v kolonne @ColumnName???
26 авг 03, 15:12    [315454]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить