Date: Thu, 31 Jan 2002 12:06:18 +0900
From: "somekawa" <who@example.co.jp>
染川と申します。
SQL−DMOを知らないので、ちょっと不安ですが
トリガー情報の取得は
SQL文
select * from sysobjects where type = 'TR'
を発行してできます。
トリガー作成のサンプルは
(私は isql でしかしていませんが、多分何でしても同じでしょう。)
use DB名
go
if exist (select name from sysobjects where name = 'トリガー名 ' and type =
'TR' )
drop trigger トリガー名
go
create trigger トリガー名
on テーブル名
for update ・・・ここは、insert /delete 等必要に応じて変更
as
begin
set nocount on ・・・おまじない(オンラインマニュアル参照)
declare @wkBefore varchar(7)
set @wkBefore = ''
select @wkBefore = 項目1 from deleted ・・・更新前レコードセッ
ト
Update tblxxx set aaa = @wkBefore
where abc = @wkBefore
if @@error != 0
begin
エラー処理
end
end
go
といったところです。
ちなみに更新後レコードは
select ・・・・ from inserted
で持ってきます。
on テーブル名の後の for は、更新処理をしてから(コミットはされていない)適
用する
という指示です。(更新前で処理する場合、inserted に内容がはいっているかどう
かは
・・・知りません。。。)
----- Original Message -----
From: "Kazuhiro Hasegawa" <who@sub.example.jp>
To: <who@example.ne.jp>
Sent: Thursday, January 31, 2002 10:50 AM
Subject: [ml-msde:00973] Re: Welcome to our (ml-msde ML)You are added
automatically
> はじめまして、長谷川と申します。
>
>
> ★ トリガ情報の取得と設定方法について
>
> SQL Server にアクセスしてデータベース内のテーブル名等は取得で
> きるのですが、トリガ情報の取得方法がわかりません。
>
> SQL-DMO を利用して、VBによりSQL Server または MSDE データベー
> ス内のテーブルに設定されたトリガ情報(トリガ名、内容)を取得した
> いのですが、ご存じの方、具体的なソースコードを教えていただけない
> でしょうか?
> 併せて、トリガの作成方法もできればお願いします。
>
>
> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
> 長谷川和宏 (Kazuhiro Hasegawa)
> E-mail: who@sub.example.jp
> 静岡工業技術センター
> 基盤技術部 電子技術スタッフ
> TEL 054-278-3027 FAX 054-278-3066
> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|