Trước tiên, bạn cần tạo bảng của mình trước rồi nó sẽ có sẵn trong SQL động.
Điều này hoạt động:
CREATE TABLE #temp3 (id INT)
EXEC ('insert #temp3 values(1)')
SELECT *
FROM #temp3
Điều này sẽ không hoạt động:
EXEC (
'create table #temp2 (id int)
insert #temp2 values(1)'
)
SELECT *
FROM #temp2
Nói cách khác:
- Tạo bảng tạm thời
- Thực thi proc
- Chọn từ bảng tạm thời
Đây là ví dụ hoàn chỉnh:
CREATE PROC prTest2 @var VARCHAR(100)
AS
EXEC (@var)
GO
CREATE TABLE #temp (id INT)
EXEC prTest2 'insert #temp values(1)'
SELECT *
FROM #temp