Tôi đang cố tạo một hàm theo yêu cầu của mình.Tạo, thả và chèn một bảng tạm thời vào một hàm do người dùng định nghĩa
Tuy nhiên, khi đang tạo ra hoặc thả #tempTable
, nó được đưa ra một lỗi như:
sử dụng không hợp lệ của một nhà điều hành phụ ảnh hưởng 'thả đối tượng' trong một hàm
hiểu biết của tôi là chúng tôi không thể có các hoạt động create
, drop
hoặc insert
hoạt động trên #temptable
trong một chức năng.
Điều đó có đúng không?
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
Bit nhầm lẫn về SQL của bạn. Cách bạn chọn từ #tempTable sau khi bạn đã xóa nó - nó không bao giờ được tạo lại. –
Vui lòng tìm bài viết cập nhật –
Nếu bạn muốn trợ giúp giải quyết vấn đề này, vui lòng giải thích điểm của #temptable bên trong hàm. Ngoài ra phải làm gì với thông số Id. –