SQL,临时设置表为只读
可能重复:SQL,临时设置表为只读,sql,sql-server,Sql,Sql Server,可能重复: 我正在修改一个在表中进行修改的过程(我们称之为base.dbo.important) 我阅读代码是为了消除修改此表时的所有查询 是否有办法在过程中使该表成为只读,以便任何修改尝试都会引发异常 我正在使用SQLServer,在SQLServer中,您可以拒绝应用程序用户在任何级别(数据库、过程、表列…您可以指定!) 您还可以仅拒绝该过程的权限 在SQLServer中,您可以在任何级别拒绝应用程序用户的写访问权限(数据库、过程、表列…由您命名!) 您还可以仅拒绝该过程的权限
我正在修改一个在表中进行修改的过程(我们称之为base.dbo.important) 我阅读代码是为了消除修改此表时的所有查询 是否有办法在过程中使该表成为只读,以便任何修改尝试都会引发异常
我正在使用SQLServer,在SQLServer中,您可以拒绝应用程序用户在任何级别(数据库、过程、表列…您可以指定!) 您还可以仅拒绝该过程的权限
在SQLServer中,您可以在任何级别拒绝应用程序用户的写访问权限(数据库、过程、表列…由您命名!) 您还可以仅拒绝该过程的权限
一种解决方案是将事务隔离级别设置为可序列化,然后从事务内的表中选择。因此,类似于:
Set Transaction Isolation Level Serializable;
Begin Tran;
Select *
From MyTable
/* Do more work */
Commit Tran;
一种解决方案是将事务隔离级别设置为serializable,然后从事务内的表中进行选择。因此,类似于:
Set Transaction Isolation Level Serializable;
Begin Tran;
Select *
From MyTable
/* Do more work */
Commit Tran;
如果我理解正确,OP想要阻止一个表,而不是整个数据库是的,你可以设置对过程、表、列等的权限。如果我理解正确,OP想要阻止一个表,而不是整个数据库是的,你可以设置对过程、表、列等的权限。1一个简单的谷歌搜索“SQLServer使表只读”让我回到了原来的状态。我敢肯定,当他/她撰写问题时,它似乎起作用了。我正在寻找只适用于该程序的东西。我看到了previos的问题1一个简单的谷歌搜索“SQLServer使表格只读”让我回到了原来的状态。我敢肯定,当他/她撰写问题时,它似乎起作用了。我正在寻找只适用于该程序的东西。我看到了普雷维奥斯的问题;我想这更能描述我需要的东西。@Argento-Um。您正在从事务中删除mytemp。我假设您不想让表对自己是只读的,而是在事务外部进行查询。;我想这更能描述我需要的东西。@Argento-Um。您正在从事务中删除mytemp。我假设您不想让表对自己是只读的,而是在事务外部进行查询。