คำถามติดแท็ก table-variable

2
เหตุใด TVP ต้องพร้อมใช้งานและทำไมพารามิเตอร์ประเภทอื่นไม่สามารถอ่านได้อย่างเดียว
ตามพารามิเตอร์บล็อกนี้สำหรับฟังก์ชั่นหรือขั้นตอนการจัดเก็บเป็นหลักผ่านตามมูลค่าถ้าพวกเขาไม่ได้OUTPUTพารามิเตอร์และถือว่าเป็นรุ่นที่ปลอดภัยกว่าของการอ้างอิงโดยใช้รหัสผ่านถ้าพวกเขาเป็นOUTPUTพารามิเตอร์ ในตอนแรกที่ผมคิดว่าเป้าหมายของการบังคับให้ TVP ที่จะได้รับการประกาศREADONLYเป็นอย่างชัดเจนส่งสัญญาณไปยังนักพัฒนาที่ TVP ไม่สามารถนำมาใช้เป็นOUTPUTพารามิเตอร์ แต่จะต้องมีมากขึ้นที่เกิดขึ้นเพราะเราไม่สามารถประกาศไม่ใช่ TVP READONLYเป็น ตัวอย่างเช่นล้มเหลว: create procedure [dbo].[test] @a int readonly as select @a ข่าวสารเกี่ยวกับ 346, ระดับ 15, สถานะ 1, การทดสอบขั้นตอน ไม่สามารถประกาศพารามิเตอร์ "@a" แบบเรียลไทม์ได้เนื่องจากไม่ใช่พารามิเตอร์ที่มีค่าเป็นตาราง เนื่องจากสถิติไม่ได้ถูกจัดเก็บใน TVP เหตุผลในการป้องกันการดำเนินงาน DML คืออะไร มันเกี่ยวข้องกับการไม่ต้องการให้ TVP เป็นOUTPUTพารามิเตอร์ด้วยเหตุผลบางอย่างหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.