这是一段sql语句,在sql2000查询分析器中编辑,显示except所在行有语法错误,在最后一行: ')' 附近有语法错误。请问大家这是那里错了,谢谢了
select distinct S.stuNum as 学号, S.stuName as 姓名 from stu as S
where not exists((select distinct cNum as 课程 from course)
except
(select distinct relation.cNum as 课程 from stu as SS,relation
where SS.stuNum=relation.stuNum and S.stuNum=SS.stuNum));
select distinct S.stuNum as 学号, S.stuName as 姓名 from stu as S
where not exists((select distinct cNum as 课程 from course)
except
(select distinct relation.cNum as 课程 from stu as SS,relation
where SS.stuNum=relation.stuNum and S.stuNum=SS.stuNum));
解决方案 »
- sqlserver如何防止插入的数据有空格?
- sqlserver 插入access 优化
- 学习SQL的问题
- 是否安装了SQL2000就无法安装MSDE?
- 请教表的连结问题,急啊,在线等!!!!!!!
- sql去空格查询问题
- 十万火急,数据库误操作!! 数据丢失!!!! 没有备份,咋恢复????
- 如何在一个存储过程里调用另一个存储过程(不使用exec)
- SQLServer 2000 sp4安装问题
- 弟兄们,我郁闷解决不了。另附tomcat5。0的问题 送分99
- 我现在要得到' SDA2021[女歪头鞋]'中SDA2021部分或者是[]中部分请问该怎么做呢,代码的长度和名称的长度都不固定的
- 前触发器的问题
INTERSECT 可以换成 and Exists
create function sumCredit(Num int)
returns integer
begin
declare sumCredit integer default 0;
for r as
select credit from relation,course where relation.stuNum=Num and
relation.cNum=course.cNum
do
set sumCredit=sumCredit+r.credit
end for
return sumCredit;
end
服务器: 消息 170,级别 15,状态 1,过程 sumCredit,行 1
第 1 行: 'Num' 附近有语法错误。
服务器: 消息 155,级别 15,状态 1,过程 sumCredit,行 4
'integer' 不是可以识别的 CURSOR 选项。
服务器: 消息 170,级别 15,状态 1,过程 sumCredit,行 8
第 8 行: 'do' 附近有语法错误。
服务器: 消息 178,级别 15,状态 1,过程 sumCredit,行 11
在此上下文中不能使用带有返回值的 RETURN 语句。
returns integer
begin
declare @sumCredit int
set @sumCredit = 0
select @sumCredit = sum(credit)
from relation,course
where relation.stuNum=2Num and relation.cNum=course.cNum
return @sumCredit;
end