當前位置:首頁 » 編程語言 » sqlserver調試觸發器

sqlserver調試觸發器

發布時間: 2025-07-12 07:09:37

sql SERVER如何應用DLL觸發器

1、首先打開SQL SERVER 2008資料庫管理工具,然後選擇伺服器,選擇Windows身份驗證進行連接,如下圖所示
2、進入管理工具以後,定位要操作的資料庫,然後點擊新建查詢,如下圖所示
3、在新建查詢界面中,通過create trigger語句創建DLL觸發器,當進行資料庫刪除和修改的時候進行觸發,如下圖所示
4、語句編寫好了以後,點擊工具欄中的執行命令,如果消息中顯示命令已成功完成則創建成功,如下圖所示
5、然後我們打開資料庫觸發器文件夾,你就會看到你所創建的觸發器名稱,如下圖所示
6、接下來我們演示觸發器的作用,在查詢界面中我們通過drop語句刪除一個資料庫,執行後出現如下的提示,這就是我們觸發器的提示,如下圖所示
7、然後我們在來看看資料庫列表中所刪除的資料庫是否還存在,如下圖所示,資料庫沒有刪除,說明觸發器已經把操作回滾了
工具/材料
SQL
SERVER
2008

② sql2008 怎麼調試觸發器

在項目中,單擊右鍵選擇"添加"->"觸發器",代碼如下(validateyear.cs):
using
system;
using
system.data;
using
system.data.sqlclient;
using
microsoft.sqlserver.server;
public
partial
class
triggers
{
//
為目標輸入現有表或視圖並取消對特性行的注釋
[microsoft.sqlserver.server.sqltrigger
(name="validateyear",
target="humanresources",
event="for
insert")]
public
static
void
validateyear()
{
//
用您的代碼替換
sqlconnection
conn
=
new
sqlconnection("context
connection=true");
//定義查詢
string
sql
=
"select
count(*)
"
+
"from
inserted
"
+
"where
year(modifieddate)<>2012";
sqlcommand
comm
=
new
sqlcommand(sql,
conn);
//打開連接
conn.open();
//獲得行數
int
numbadrows
=
(int)comm.executescalar();
if
(numbadrows
>
0)
{
//get
the
sqlpipe
sqlpipe
pipe
=
sqlcontext.pipe;
//role
back
and
raise
an
error
comm.commandtext
=
"raiseerror('修改錯誤',11,1)";
//send
the
error
try
{
}
catch
{
}
system.transactions.transaction.current.rollback();
}
conn.close();
}
}
用於驗證插入的數據是否合法,當插入表humanresources是,如果修改日期的年份不是2012將報錯。
另外要注意的是要使用system.transactions.transaction.current.rollback(),必須添加system.transactions的引用

熱點內容
軟體發布源碼 發布:2025-07-12 14:29:34 瀏覽:178
sql函數和存儲過程的區別 發布:2025-07-12 14:26:37 瀏覽:29
查看存儲功空間 發布:2025-07-12 14:17:22 瀏覽:941
安卓手機的朗讀功能在哪裡 發布:2025-07-12 14:17:07 瀏覽:298
mysql屬於什麼資料庫 發布:2025-07-12 13:55:52 瀏覽:166
源碼抓捕 發布:2025-07-12 13:47:34 瀏覽:873
安卓哪裡有李小龍 發布:2025-07-12 13:31:49 瀏覽:439
蘋果保存賬號密碼在哪裡找 發布:2025-07-12 13:31:07 瀏覽:99
東北大學c語言考試題 發布:2025-07-12 13:26:40 瀏覽:756
sha256在線加密 發布:2025-07-12 13:19:06 瀏覽:228