用户在存储过程中定义的表

时间:2015-07-07 22:41:08

标签: sql sql-server stored-procedures user-defined

我正在尝试将数据表传递给我的程序。

我创建了一个SQL Server用户定义的表类型,如下所示:

 CREATE TYPE dbo.DT_SimQuestionWebTemp AS TABLE 
 (
        [id] [bigint] IDENTITY(1,1) NOT NULL,
        [SimId] [bigint] NOT NULL,
        [mobile] [nvarchar](25) NOT NULL,
        [LevelId] [int] NULL,
        [QuestionId] [int] NULL,
        [Question] [nvarchar](500) NULL,
        [Answer1] [nvarchar](100) NULL,
        [Answer2] [nvarchar](100) NULL,
        [Answer3] [nvarchar](100) NULL,
        [Answer4] [nvarchar](100) NULL,
        [Answer5] [nvarchar](100) NULL,
        [Status] [int] NOT NULL
 )

我正在尝试删除表以使用不同的架构再次创建 使用以下语法。

drop table DT_SimQuestionWebTemp

然而我收到了错误:

  

无法删除表'DT_SimQuestionWebTemp',因为它不存在或您没有权限

我有权删除表格,并且我可以使用存储过程中的表格。但是我无法通过普通查询删除它或从中进行选择。

知道怎么看表并放下它吗?

2 个答案:

答案 0 :(得分:0)

您需要drop type而不是drop table

 DROP TYPE dbo.DT_SimQuestionWebTemp

答案 1 :(得分:0)

您需要的是:

DROP TYPE dbo.DT_SimQuestionWebTemp;