具有只读访问权限的Sql虚拟表:插入,删除,更新?

时间:2015-01-13 03:23:44

标签: sql sql-server table-variable

2个问题:

  1. 我是否可以使用对数据库具有只读访问权限的用户创建虚拟表?
  2. 前:

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

      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
      

1 个答案:

答案 0 :(得分:1)

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

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

相关问题