读书人

SQL server 2008创建视图的有关问题

发布时间: 2012-12-16 12:02:32 作者: rapoo

SQL server 2008创建视图的问题

CREATE VIEW 三建_SPJ (SNO,PNO,QTY)
AS SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO=(SELECT JNO
FROM J
WHERE JNAME='三建');
第一行显示错误“语法错误,CREATE VIEW必须是批处理中仅有的语句”,请问该怎样创建视图?
[最优解释]
CREATE VIEW 三建_SPJ (SNO,PNO,QTY)
AS SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO in (SELECT JNO
FROM J
WHERE JNAME='三建');

把=改为 in ,双击错误看看是否有其它字符
[其他解释]
或者试试:
GO
CREATE VIEW 三建_SPJ (SNO,PNO,QTY)
AS SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO In (SELECT JNO --这里改成IN比较安全,如果保证只有一条,那么用等号也可以
FROM J
WHERE JNAME='三建');
[其他解释]
CREATE VIEW 三建_SPJ
AS SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO=(SELECT JNO
FROM J
WHERE JNAME='三建');
[其他解释]
视图名不需要指定列名
CREATE VIEW 三建_SPJ 
AS
SELECT SNO ,
PNO ,
QTY
FROM SPJ
WHERE JNO = ( SELECT JNO
FROM J
WHERE JNAME = '三建'
) ;

[其他解释]
有可能是编辑器的问题,你COPY内容到记事看看是否显示正常
[其他解释]
除了3楼大版说的,另外是否还有上下问,有其他的SQL代码?不然不应该报错。
[其他解释]
是否还有上下文,6楼打错字了。
[其他解释]
引用:
或者试试:
GO
CREATE VIEW 三建_SPJ (SNO,PNO,QTY)
AS SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO In (SELECT JNO --这里改成IN比较安全,如果保证只有一条,那么用等号也可以
FROM J


WHERE JNAM……



[其他解释]
谢谢各位,是我犯了个很傻的错误,执行的时候,默认是在master数据库下,而不是我建的数据库,导致了这个错误,再次谢谢各位的解答!

读书人网 >SQL Server

热点推荐