私の要件に従って関数を作成しようとしています。
しかし、作成またはドロップ#tempTable
すると、次のようなエラーが発生します。
関数内での副作用演算子 'drop object' の無効な使用
create
私の理解では、関数内で、drop
またはinsert
操作を行うことはできません#temptable
。
あれは正しいですか?
私のSQL:
CREATE FUNCTION [dbo].[RT_ResultFunction]
(
Id VARCHAR(4000)
)
RETURNS @RT_ResultFunction TABLE
(
Id VARCHAR(20)
, Name varchar(20)
,Balance Int
)
AS
BEGIN
IF OBJECT_ID('tempdb..#tempTable') IS NOT NULL
DROP TABLE #tempTable
SELECT Id, COUNT(Balance)
INTO #tempTable
'Balance' FROM Table1
INSERT @RT_ResultFunction
SELECT T1.ID,T1,NAME,T2,Balance
FROM Table2 T1,
#tempTable T2
WHERE T1.ID = T2.ID
RETURN
END