各位帮忙看一下下面一段Transact-SQL
IF (SELECT COUNT(a)
FROM tableA
WHERE a= '1999-1-1') > 0
BEGIN
CREATE VIEW myView
AS
SELECT a,b,c
FROM tableA
WHERE (a= '1999-1-1' )
END
总是出错,提示 服务器: 消息 156,级别 15,状态 1,行 5
在关键字 'VIEW' 附近有语法错误。
不知道是否可以这样写,我实际上只是测试一下,实际产生的视图比这个要复杂很多,这里没有写出来
IF (SELECT COUNT(a)
FROM tableA
WHERE a= '1999-1-1') > 0
BEGIN
CREATE VIEW myView
AS
SELECT a,b,c
FROM tableA
WHERE (a= '1999-1-1' )
END
总是出错,提示 服务器: 消息 156,级别 15,状态 1,行 5
在关键字 'VIEW' 附近有语法错误。
不知道是否可以这样写,我实际上只是测试一下,实际产生的视图比这个要复杂很多,这里没有写出来
FROM tableA
WHERE a= '1999-1-1') > 0
BEGIN
exec('
CREATE VIEW myView
AS
SELECT a,b,c
FROM tableA
WHERE (a= ''1999-1-1'' )
')
END
FROM tableA
WHERE a= '1999-1-1') > 0
BEGIN
declare @sql varchar(8000)
set @sql ='CREATE VIEW myView
AS
SELECT a,b,c
FROM tableA
WHERE (a= ''1999-1-1'' )'
exec(@sql)
END
所以在这里可以通过exec来执行该语句~
AS
SELECT a,b,c
FROM tableA
WHERE a= '1999-1-1'
go
IF NOT EXISTS (SELECT 1
FROM tableA
WHERE a= '1999-1-1')
DROP VIEW myView
FROM tableA
WHERE a= '1999-1-1') > 0
BEGIN
goCREATE VIEW myView
AS
SELECT a,b,c
FROM tableA
WHERE (a= '1999-1-1' )
END