[SqlServer01]

Jun 07, 2016 pm 03:33 PM
私たち データ

有时候我们希望某些表的数据不能被删除,可以使用下面的触发器。 Create trigger [dbo].[trg_del] on [dbo].LogInfo instead of delete AS BEGIN declare @cou int select @cou=count(*) from deleted; if (@cou0) RAISERROR('数据不允许删除!', 16, 1) END

有时候我们希望某些表的数据不能被删除,可以使用下面的触发器。

Create trigger [dbo].[trg_del] on [dbo].LogInfo
instead of delete
AS
BEGIN
declare @cou int
select @cou=count(*) from deleted;
if (@cou>0)
RAISERROR('数据不允许删除!', 16, 1)
END

但需要注意 truncate table LogInfo 命令依然会正确执行,因为truncate 不会触发触发器,不会写日志,所以无法回滚,使用时要谨慎。

有时候我们需要灵活指定一些用户可以删除和修改数据表结构,未指定的用户则不能做这些操作,可以使用下面的触发器

CREATE TRIGGER TR_Safety_Table 
ON DATABASE 
FOR DROP_TABLE, ALTER_TABLE
AS 
IF( ( SUSER_SNAME() 'sa' )and (SUSER_SNAME() 'test') )
   BEGIN
   PRINT '你无DROP TABLE 和 ALTER TABLE 的权限!' 
   ROLLBACK
END

关于数据库或表的权限其实可以通过角色,权限来控制,下面是常用的一些基本语句,写在这里备忘。

--登陆、用户与权限
--删除登陆
--exec sp_droplogin 'test'
--新建登陆
exec sp_addlogin @loginame = N'test',
@passwd = '123456', 
@defdb = N'TestDB', 
@deflanguage = N'Simplified Chinese', 
@sid = NULL, 
@encryptopt = NULL 
GO

--删除用户
--exec sp_dropuser 'test'

exec sp_adduser 'test'
--授权
GRANT SELECT, INSERT, UPDATE, DELETE
ON LogInfo
TO test
--收回权限
revoke DELETE on LogInfo from test;
--拒绝权限
deny DELETE on LogInfo TO test;
--授予角色权限
--exec sp_addrolemember 'db_owner','test'
--列出全部表名
--select name from sysobjects where xtype = 'U' order by name


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ddrescue を使用して Linux 上のデータを回復する ddrescue を使用して Linux 上のデータを回復する Mar 20, 2024 pm 01:37 PM

ddrescue を使用して Linux 上のデータを回復する

オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定! オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定! Apr 03, 2024 pm 12:04 PM

オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定!

Excelのフィルター機能を複数条件で使う方法 Excelのフィルター機能を複数条件で使う方法 Feb 26, 2024 am 10:19 AM

Excelのフィルター機能を複数条件で使う方法

Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります Apr 01, 2024 pm 07:46 PM

Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります

超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。 超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。 Apr 29, 2024 pm 06:55 PM

超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。

iPhoneのセルラーデータインターネット速度が遅い:修正 iPhoneのセルラーデータインターネット速度が遅い:修正 May 03, 2024 pm 09:01 PM

iPhoneのセルラーデータインターネット速度が遅い:修正

アメリカ空軍が初のAI戦闘機を公開し注目を集める!大臣はプロセス全体を通じて干渉することなく個人的にテストを実施し、10万行のコードが21回にわたってテストされました。 アメリカ空軍が初のAI戦闘機を公開し注目を集める!大臣はプロセス全体を通じて干渉することなく個人的にテストを実施し、10万行のコードが21回にわたってテストされました。 May 07, 2024 pm 05:00 PM

アメリカ空軍が初のAI戦闘機を公開し注目を集める!大臣はプロセス全体を通じて干渉することなく個人的にテストを実施し、10万行のコードが21回にわたってテストされました。

柔軟かつ高速な 5 本の指を備え、人間のタスクを自律的に完了する初のロボットが登場、大型モデルが仮想空間トレーニングをサポート 柔軟かつ高速な 5 本の指を備え、人間のタスクを自律的に完了する初のロボットが登場、大型モデルが仮想空間トレーニングをサポート Mar 11, 2024 pm 12:10 PM

柔軟かつ高速な 5 本の指を備え、人間のタスクを自律的に完了する初のロボットが登場、大型モデルが仮想空間トレーニングをサポート

See all articles