我有两个单独的学生表部署。在一种情况下,学生表包含部门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”无效。
答案 0 :(得分:0)
您可以尝试这样的事情,
CREATE TABLE dbo.Student
(
DeptId UNIQUEIDENTIFIER,
StudentName VARCHAR(20)
)
GO
IF Col_length('dbo.Department', 'DeptId') IS NOT NULL
BEGIN
INSERT INTO dbo.Student
(DeptId,
StudentName)
SELECT DeptId,
'TBAG'
FROM dbo.Department
WHERE DeptName = 'Computer'
END
ELSE
BEGIN
INSERT INTO dbo.Student
(StudentName)
SELECT 'TBAG'
END