Próbuję utworzyć funkcję zgodnie z moimi wymaganiami.Tworzenie, upuszczanie i wstawianie tabeli tymczasowej w zdefiniowanej przez użytkownika funkcji
Ale kiedy tworzę lub spadek #tempTable
, to daje błąd jako:
nieprawidłowym wykorzystaniem bocznej dokonania operatora „obiektu upuść” w funkcji
Moje rozumienie jest że nie możemy wykonywać operacji na create
, drop
ani na .
Czy to prawda?
My 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
Nie rozumiem twojego SQL. Jak wybrać z #tempTable po upuszczeniu go - nigdy go nie odtworzyć. –
Proszę znaleźć zaktualizowany post –
Jeśli chcesz pomóc w rozwiązaniu tego problemu, proszę wyjaśnij punkt # zwolnienia w ramach funkcji. Co zrobić z parametrem Id. –