操作数类型冲突:nvarchar与Type_WP_Days不兼容

时间:2015-07-30 06:05:23

标签: sql-server tsql sql-server-2008-r2 sql-server-2014

我在数据库中做了一些简单的步骤

第1步:

CREATE TYPE [dbo].[TempType] AS TABLE([MM] [INT])

第2步:

CREATE PROC [DBO].[TEMP1] (@MYTAB TEMPTYPE READONLY)  
AS
BEGIN
    SELECT * 
    FROM @MYTAB
END

第3步:

CREATE TABLE #TEMP11 ([MM] [INT])

INSERT INTO #TEMP11 
   SELECT 1 UNION 
   SELECT 2 UNION 
   SELECT 3 

SELECT * FROM #TEMP11

EXEC TEMP1 #TEMP11

结果:

(4 row(s) affected) 
(4 row(s) affected) 
  

Msg 206,Level 16,State 2,Procedure temp1,Line 0
  操作数类型冲突:nvarchar与TempType

不兼容

我在另外两台服务器上做了同样的消息。我的代码中有什么错误。我也使用过SQL Server 2008 R2和SQL Server 2014。

1 个答案:

答案 0 :(得分:6)

创建类型为TempType的变量:

,而不是创建临时表
DECLARE  @Temp11 TempType 

INSERT INTO @Temp11 SELECT 1 UNION SELECT 2 UNION SELECT 3 
SELECT * FROM @Temp11

EXEC TEMP1  @Temp11

您的过程不接受temporary表作为输入参数,而是接受TempType类型的参数。