操作数类型冲突:nvarchar 与 Type_WP_Days 不兼容
Operand type clash: nvarchar is incompatible with Type_WP_Days
我在我的数据库中做了一些简单的步骤
第 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
Operand type clash: nvarchar is incompatible with TempType
我在另外两台服务器上完成了它,它给出了相同的消息。我的代码有什么问题。我还使用了 SQL Server 2008 R2 和 SQL Server 2014。
不是创建一个临时变量 table,而是创建一个 TempType
类型的变量:
DECLARE @Temp11 TempType
INSERT INTO @Temp11 SELECT 1 UNION SELECT 2 UNION SELECT 3
SELECT * FROM @Temp11
EXEC TEMP1 @Temp11
您的程序不接受 temporary
table 作为输入参数,而是 TempType
类型的参数。
我在我的数据库中做了一些简单的步骤
第 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
Operand type clash: nvarchar is incompatible with TempType
我在另外两台服务器上完成了它,它给出了相同的消息。我的代码有什么问题。我还使用了 SQL Server 2008 R2 和 SQL Server 2014。
不是创建一个临时变量 table,而是创建一个 TempType
类型的变量:
DECLARE @Temp11 TempType
INSERT INTO @Temp11 SELECT 1 UNION SELECT 2 UNION SELECT 3
SELECT * FROM @Temp11
EXEC TEMP1 @Temp11
您的程序不接受 temporary
table 作为输入参数,而是 TempType
类型的参数。