ฉันมีขั้นตอนการจัดเก็บที่ส่งคืน 80 คอลัมน์และ 300 แถว ฉันต้องการเขียนตัวเลือกที่ได้รับ 2 ของคอลัมน์เหล่านั้น สิ่งที่ต้องการ
SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2'
เมื่อฉันใช้ไวยากรณ์ข้างต้นฉันได้รับข้อผิดพลาด:
"ชื่อคอลัมน์ไม่ถูกต้อง"
ฉันรู้ว่าวิธีที่ง่ายที่สุดคือเปลี่ยนกระบวนงานที่เก็บไว้ แต่ฉันไม่ได้เขียนและไม่สามารถเปลี่ยนแปลงได้
มีวิธีทำสิ่งที่ฉันต้องการหรือไม่?
ฉันสามารถสร้างตารางชั่วคราวเพื่อใส่ผลลัพธ์ แต่เนื่องจากมี 80 คอลัมน์ดังนั้นฉันจึงต้องสร้างตารางอุณหภูมิคอลัมน์ 80 เพื่อให้ได้ 2 คอลัมน์ ฉันต้องการหลีกเลี่ยงการติดตามคอลัมน์ทั้งหมดที่ส่งคืน
ฉันลองใช้
WITH SprocResults AS ....
ตามคำแนะนำของ Mark แต่มีข้อผิดพลาด 2 ข้อไวยากรณ์ไม่ถูกต้องใกล้กับคำหลัก 'EXEC'
ไวยากรณ์ไม่ถูกต้องใกล้กับ ')'ฉันพยายามประกาศตัวแปรตารางและฉันพบข้อผิดพลาดดังต่อไปนี้
ข้อผิดพลาดการแทรก: ชื่อคอลัมน์หรือจำนวนค่าที่ให้มาไม่ตรงกับคำนิยามของตาราง
หากฉันลอง
SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
ฉันพบข้อผิดพลาด:ไวยากรณ์ไม่ถูกต้องใกล้กับคำหลัก 'exec'