SQL Server读取时删除

SQL Server读取时删除,sql,sql-server,Sql,Sql Server,SQLServer中是否有一种简单的方法将数据作为只读数据使用?我的意思是,我可以将它设置为在选中某行后删除该行吗?如果数据是通过存储过程访问的,则可以轻松地执行此操作。您可以在临时表中选择数据,删除数据并返回临时数据。当然,所有这些都被打包在一个事务中。在我的脑海中,我能想到的唯一方法是将所有登录限制为prohibit any Select访问,并且只允许通过存储过程“FetchMyWhateverData”进行访问,然后将这些行作为存储过程中的第二条SQL语句删除 CreateProcedu

SQLServer中是否有一种简单的方法将数据作为只读数据使用?我的意思是,我可以将它设置为在选中某行后删除该行吗?

如果数据是通过存储过程访问的,则可以轻松地执行此操作。您可以在临时表中选择数据,删除数据并返回临时数据。当然,所有这些都被打包在一个事务中。

在我的脑海中,我能想到的唯一方法是将所有登录限制为prohibit any Select访问,并且只允许通过存储过程“FetchMyWhateverData”进行访问,然后将这些行作为存储过程中的第二条SQL语句删除

CreateProcedure FetchMyWhateverData
@MyEntityId Integer,
As
Set NoCount On

    Select * From TableName 
    Where Id = @MyEntityId 

    Delete TableName 
    Where Id = @MyEntityId 

    Return 0

--当然,还要添加其他适当的基础架构代码

如果您使用
删除阅读它。。。输出…
。队列就是这样工作的。

你为什么要做这样的事情?听起来像是一个独特的用例。还有,虚假的/急切的阅读呢?不适合我,也不适合朋友。他的请求要求他阅读信息,然后将其删除。谁知道为什么,但这是他需要能够做到的。不幸的是,我们受到的限制不允许我们创建PROC。这是我们想到的解决办法。我很抱歉在这个问题上没有说得更清楚。