0
這是我的代碼:整型是不兼容唯一標識符
USE [MRC]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[Lookup_APN_GUID]
(
-- Add the parameters for the function here
@PN_Key int
)
RETURNS UNIQUEIDENTIFIER
AS
BEGIN
-- Declare the return variable here
DECLARE @PN_GUID UNIQUEIDENTIFIER
SELECT @PN_GUID = PNID
FROM PNEB
WHERE PNID = (@PN_Key)
RETURN @PN_GUID
END
我收到以下錯誤信息:
消息206,級別16,狀態2
程序Lookup_PN_GUID,操作數類型衝突: int與uniqueidentifier不兼容
我試過將int
切換爲nvarchar
關於標量變量聲明。仍然收到錯誤消息。 uniqueidentifier
是int
。我很茫然。
任何想法?
'select'似乎假設'PNID'是一個'uniqueidentifier'。 where子句說它是一個int。這是什麼?也許你必須把'@ PN_KEY'的聲明改爲'uniqueidentifier'。 –
你可以像NCHAR(50)那樣聲明並將該參數與使用CONVERT方法轉換爲NCHAR的PNID進行比較 –
你確定它是WHERE PNID = @PN_Key而不是WHERE [SOME_OTHER_COLUMN] = @PN_Key嗎?你可以發佈表'PNEB'的定義嗎? –