1. 試述存儲(chǔ)過程和觸" />
更新時(shí)間:2021-06-21 14:14:49作者:admin2
PROCEDUREp_book1PROCEDURE p_book2書名='大學(xué)英語(yǔ)'EXEC p_book2圖書編號(hào)=@x'001105'varchar(20)書籍表 where 書名=@c1EXEC p_book4 '大學(xué)語(yǔ)文'
1>觸發(fā)器也是一種存儲(chǔ)過程,只不過是通過事件觸發(fā)的而你所指的存儲(chǔ)過程,是用戶調(diào)取的2>觸發(fā)器有兩張內(nèi)置的表inserted和deleted(新數(shù)據(jù)表和舊數(shù)據(jù)表)而存儲(chǔ)過程沒有3>存儲(chǔ)過程可以執(zhí)行一些不確定性的執(zhí)行,觸發(fā)器不可以執(zhí)行不確定性的執(zhí)行(我遇到過這個(gè)情況,具體記不清了好象是EXEC('SQL語(yǔ)句'),可以去搜搜相關(guān)資料)
1、
createtrigger?tgr_Topic_insert
on?classes
? ? for?insert?--插入觸發(fā)
as
? ? update?Section?set?SClickCount=SClickCount+1;
go
2、
?
SET NOCOUNT ON;DECLARE @count intdeclare @strSql varchar(max)SET @count = 0set @strSql=''WHILE @count <50BEGINif(@count % 10 =0)beginexec(@strSql)set @strSql=''endelsebeginset @strSql=@strSql+'insert into tb_test values('+ str(rand()*100)+','+str(rand()*100)+')'endSET @count = @count +1END
Section 表設(shè)計(jì)不合理,帖子數(shù)量和點(diǎn)擊率應(yīng)該用視圖查詢得到。否則,就必須增加刪除,屏蔽等觸發(fā)器,如果論壇用戶較多,并發(fā)量較大時(shí),觸發(fā)器會(huì)降低數(shù)據(jù)庫(kù)性能,且出現(xiàn)實(shí)際數(shù)據(jù)不吻合的情況。至于臨時(shí)登錄用戶,可以利用用戶訪問網(wǎng)站的日期和時(shí)間生成,沒必要在數(shù)據(jù)庫(kù)中事先生成。