ฉันต้องการเขียนแบบสอบถามสำหรับ MS SQL Server ที่เพิ่มคอลัมน์ลงในตาราง แต่ฉันไม่ต้องการแสดงข้อผิดพลาดใด ๆ เมื่อฉันเรียกใช้ / ดำเนินการแบบสอบถามต่อไปนี้
ฉันใช้คิวรีประเภทนี้เพื่อเพิ่มตาราง ...
IF EXISTS (
SELECT *
FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[Person]')
AND TYPE IN (N'U')
)
แต่ฉันไม่รู้วิธีเขียนแบบสอบถามนี้สำหรับคอลัมน์
1
อาจเป็นไปได้ซ้ำกันของวิธีตรวจสอบว่ามีคอลัมน์อยู่ในตาราง SQL Server หรือไม่
—
Martin Smith
คุณควรใช้
—
marc_s
sys.tables
แทน "generic" sys.objects
- จากนั้นคุณไม่จำเป็นต้องระบุประเภทอย่างชัดเจน (มันชัดเจนจากที่sys.tables
แล้ว .... )
COL_LENGTH ทางเลือกทำงานได้เฉพาะจาก SQL-Server 2008 แต่ใช้งานได้
—
Paul-Henri