0
我有兩個獨立的學生表部署。在一種情況下,學生表包含部門ID,在其他情況下,它不包含部門ID。根據條件動態生成插入語句
我有一個共同的帖子部署腳本,用於在學生表中插入值的兩種情況。
CREATE TABLE dbo.Student
(
DeptId UNIQUEIDENTIFIER,
StudentName VARCHAR(20)
)
GO
DECLARE @DeptId UNIQUEIDENTIFIER
IF COL_LENGTH('dbo.Department', 'DeptId') IS NOT NULL BEGIN
SELECT @DeptId = DeptId
FROM dbo.Department
WHERE DeptName = 'Computer'
END
INSERT INTO dbo.Student(DeptId, StudentName)
SELECT @DeptId, 'TBAG'
但是當我沒有部門ID列此腳本不起作用
消息207,級別16,狀態1,行23 無效的列名稱DEPTID「。
如果你想運行在同一個表查詢相同,固定表,因此它們具有相同的列。 –
對於某些客戶,我不想授予部門Id功能,而其他人可以擁有該功能。我怎樣才能保持這兩個案例相同的腳本。我的意思是我打開將查詢更改爲字符串並在EXEC下運行它。但我很難將其轉換爲字符串。 – TBAG
。 。您應該使用更高級別的參數來控制這些功能。數據結構應該是相同的,否則你將面臨維護噩夢。所以,你的代碼可以用'if'語句填充,檢查是否啓用了該功能。 –