0

2个问题:

  1. 我能否使用对数据库具有只读访问权限的用户创建虚拟表?

前任:

DECLARE @tblStudentDtl TABLE(
SrNo int IDENTITY not null,
sName varchar(50) ,
sAddress varchar(100),
ClassName varchar(100)
)
  1. 我是否能够使用对数据库具有只读访问权限的用户创建的虚拟 sql 表中插入、删除和更新数据?

前任:

DECLARE @tblStudentDtl TABLE(
    SrNo int IDENTITY not null,
    sName varchar(50) ,
    sAddress varchar(100),
    ClassName varchar(100)
    )

    INSERT INTO @tblStudentDtl (sName,sAddress,ClassName)
    SELECT sName, sAddress,ClassName FROM tblStudent A JOIN tblClass B ON A.ClassId=B.ClassId WHERE sName like +‘s%’ ORDER BY sName

    SELECT * FROM @tblStudentDtl
4

1 回答 1

1

这些“虚拟表”只是表变量,与在 T-SQL 中声明变量没有太大区别。您不需要任何特殊权限。表数据甚至不存储在您连接的数据库中 - 它存储在 tempdb 中,与临时表相同。

关于表数据类型的 MSDN Docs:http: //msdn.microsoft.com/en-us/library/ms175010.aspx

于 2015-01-13T03:40:33.077 回答