SQL如何建立觸發器,SQL如何建立乙個觸發器

時間 2022-03-29 07:12:22

1樓:

這最好用程式控制,有資料庫sql05可用加密.

也可用如果對mssql的使用者資訊有興趣的,可能會發現master.dbo.sysxlogins裡面存放著使用者的口令,可是呢,password欄位如果不是null就是一堆看不懂的binary,這個口令是怎麼加密的呢?

其實只要仔細看看master.dbo.sp_addlogin就知道了,mssql的sp都可以看到**,真是不錯。

讓我們來看看它是怎麼做的,注意這一行select @passwd = pwdencrypt(@passwd),這個時後@passwd就被加密了,讓我們也來試一下

declare @clearpwd varchar(255)

declare @encryptedpwd varbinary(255)

select @clearpwd = 'test'

select @encryptedpwd = convert(varbinary(255), pwdencrypt(@clearpwd))

select @encryptedpwd

看上去不錯,確實被加密了,可是我怎麼還原呢?

呵呵,這就沒戲了,口令加密都是單向的,用加密後的密文來比較就可以了。

繼續看看其它使用者相關的sp,可以發現master.dbo.sp_password裡面有口令比較的內容。

不用去理會xstatus,這是乙個狀態掩碼,一般我們用的時候就直接用0就可以了

declare @clearpwd varchar(255)

declare @encryptedpwd varbinary(255)

select @clearpwd = 'test'

select @encryptedpwd = convert(varbinary(255), pwdencrypt(@clearpwd))

select pwdcompare(@clearpwd, @encryptedpwd, 0)

select pwdcompare('errorpassword', @encryptedpwd, 0)

這樣我們就可以使用這兩個函式來加密自己的密碼了:)

2樓:匿名使用者

create trigger trg_operateron operater

for insert,update

as.....加密go

sql server 中如何建立觸發器

3樓:文件類共創空間

建立觸發器的語法:

create trigger trigger_nameon table_name

[with encryption]

for [delete, insert, update]ast-sql語句

gowith encryption表示加密觸發器定義的sql文字delete, insert, update指定觸發器的型別insert觸發器的工作原理:

1.執行insert插入語句,在表中插入資料行;

2.觸發insert觸發器,向系統臨時表inserted表中插入新行的備份(副本)

3.觸發器檢查inserted表中插入的新行資料,確定是否需要回滾或執行其他操作。

4樓:

你可以直接用語句寫呀,如:

create trigger [trigger name] on [dbo].[table name]

for insert, update, deleteas或者你用sql server的企業管理器,選中要建立觸發器的表,點後鍵,然後選擇管理觸發器,這時會彈出乙個編輯視窗,然後自己編寫觸發器就ok了。

怎樣建立乙個sql的觸發器

5樓:

檢視是虛擬表,不能建觸發器,只能在基本表上建

sql中,如何建立乙個有條件的觸發器 10

6樓:匿名使用者

以 delete 觸發為例:

create trigger tri_deleteon a --將要進行更改的表名

for delete --給表刪除一條資料的時候觸發asdeclare @aa varchar(10)select @aa=a from deletedif @aa='a' --處理的條件

begin

raiserror('錯誤',16,8)

rollback tran

end觸發器效果:刪除表a資料,如果a列為 『a』,即阻止刪除,提示『錯誤』

sql如何建立乙個觸發器

sql server2008怎樣建立乙個觸發器?

7樓:

我也不知道對不對,不對再說吧,給你直接貼**了你自己看著改改

注意:你的那個jgzbh這一列要在表中實際存在,千萬別是檢視做的虛擬列。不然,估計會失敗。

if exists(select * from sysobjects where [name] = 'tr_getnum' and xtype = 'tr')

drop trigger tr_getnum

gocreate trigger tr_getnum

on dbo.table_1

after insert

as begin transaction

update dbo.table_1 set jgzbh =substring(inserted.jgzid,patindex('%[^0-9][0-9]%',inserted.

jgzid)+1,patindex('%[0-9][^0-9]%',inserted.jgzid)-patindex('%[^0-9][0-9]%',inserted.jgzid)) from inserted;

update dbo.table_1 set jgzbh = '' where jgzbh = '0';

select * from dbo.table_1

if(@@error<>0)

rollback transaction

else

commit transaction

goinsert into dbo.table_1(jgzid)

values('某某333024號')

select * from dbo.table_1

sql觸發器的建立 5

請問sql觸發器insert觸發器如何使用

謹傑 在sql server中使用 create trigger insert stu on stufor insert asinsert into user uname,upassword select sid,sid from inserted在oracle中使用,預設密碼為學生id號creat...

SQL裡中儲存過程和觸發器,如何建立

觸發器是一種特殊的儲存過程,2.觸發器是在對錶進行插入 更新或刪除操作時自動執行的儲存過程 3.觸發器通常用於強制業務規則 4.觸發器是一種高階約束,可以定義比用check 約束更為複雜的約束 5.可執行複雜的sql語句 if while case delete 觸發器 insert 觸發器 upd...

SQL觸發器寫法,SQL資料庫中的觸發器怎麼寫啊?急

觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。觸發器經常用於加強資...

如何建立觸發器insert update delete

觸發器觸發的條件有 insert,update,delete 我想要乙個例子 在乙個表建立一create trigger tr a on a for insert,update,delere as begin if exists create trigger tr a on a for insert...

資料庫觸發器有什麼作用,SQL中觸發器有什麼作用

觸發器的作用 自動計算資料值,如果資料的值達到了一定的要求,則進行特定的處理。同步實時地複製表中的資料。實現複雜的非標準的資料庫相關完整性規則。可在寫入資料表前,強制檢驗或轉換資料。觸發器發生錯誤時,異動的結果會被撤銷。部分資料庫管理系統可以針對資料定義語言 ddl 使用觸發器,稱為ddl觸發器。可...