cs_Censorship_CreateUpdateDelete --审核制度创建更新删除 ALTERproc[dbo].cs_Censorship_CreateUpdateDelete --审核制度创建更新删除 ( /**//*即是一些受限制的词语等,比如FUCK*/ @Wordnvarchar(40) , @DeleteWordbit=0 , @Replacementnvarchar(40) , @SettingsIDint ) as SETTransactionIsolationLevelReadUNCOMMITTED /**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁, 也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更 改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有 语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/ SET NOCOUNT ON /**//*当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。 当 SET NOCOUNT 为 OFF 时,返回计数。即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。*/ if( @DeleteWord>0 ) BEGIN DELETEFROM cs_Censorship WHERE Word =@Wordand SettingsID =@SettingsID RETURN /**//*删除某记录*/ END ELSE BEGIN UPDATE cs_Censorship SET Replacement =@Replacement WHERE Word =@Wordand SettingsID =@SettingsID /**//*更新替换内容,比如说本来是用***替换的,现在换其他东西替换*/ IF( @@rowcount=0 ) --如果更新受影响行数为0 BEGIN INSERTINTO cs_Censorship ( Word, Replacement, SettingsID ) VALUES ( @Word, @Replacement, @SettingsID ) /**//*插入新的限制词语*/ END END
cs_Censorships_Get ALTERproc[dbo].cs_Censorships_Get ( @Wordnvarchar(40) ='', @SettingsIDint ) as SETTransactionIsolationLevelReadUNCOMMITTED /**//*设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁, 也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更 改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有 语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。*/ select * from cs_Censorship WHERE SettingsID =@SettingsIDand (Word =@Wordor (@Word=''AND1=1)) /**//*查询符合条件的记录 -_=!不明白为什么还加个1=1,我总感觉第一个1好象比第二个1 好象来得大点,难道是大写的L或者I吗?当我没说.*/ GO