มีคิวรี SELECT ที่ซับซ้อนซึ่งฉันต้องการแทรกแถวทั้งหมดลงในตัวแปรตาราง แต่ T-SQL ไม่อนุญาต
ในบรรทัดเดียวกันคุณไม่สามารถใช้ตัวแปรตารางที่มีคำสั่ง SELECT INTO หรือ INSERT EXEC http://odetocode.com/Articles/365.aspx
ตัวอย่างสั้น ๆ :
declare @userData TABLE(
name varchar(30) NOT NULL,
oldlocation varchar(30) NOT NULL
)
SELECT name, location
INTO @userData
FROM myTable
INNER JOIN otherTable ON ...
WHERE age > 30
ข้อมูลในตัวแปรตารางจะถูกนำมาใช้ในภายหลังเพื่อแทรก / อัปเดตกลับเข้าไปในตารางที่แตกต่างกัน เป้าหมายของการทำเช่นนี้คือการทำให้สคริปต์อ่านง่ายขึ้นและสามารถปรับแต่งได้ง่ายกว่าทำSELECT INTO
ในตารางที่ถูกต้องโดยตรง ประสิทธิภาพไม่ใช่ปัญหาเนื่องจากrowcount
มีขนาดค่อนข้างเล็กและทำงานด้วยตนเองเมื่อจำเป็นเท่านั้น
... หรือแค่บอกฉันว่าฉันทำผิดทั้งหมดหรือเปล่า