SQL查询的判断语句出错,求更正。

一下是代码段DECLARE@sumintDECLARE@letternvarchar(2)--首位字母DECLARE@numnvarchar(10)--9位随机数字DEC... 一下是代码段

DECLARE @sum int
DECLARE @letter nvarchar(2)--首位字母
DECLARE @num nvarchar(10)--9位随机数字
DECLARE @id nvarchar(10)--ID
DECLARE @age int--年龄
DECLARE @place nvarchar(4)--出生地
DECLARE @edu nvarchar(5)--学历
DECLARE @major nvarchar(6)--专业
DECLARE @jobyears int--工作经验
DECLARE @result int--结果

SET @sum = 100
WHILE @sum > 0
BEGIN

--插入ID数据

SET @letter = char(convert(int,rand()*26+65))--生成ID第一位大写字母
SET @num = RIGHT(1000000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 9)--生成9位随机数字
SET @id = @letter + @num--随机ID
SET ROWCOUNT @sum
SET @age = RIGHT(100 + cast(20 + rand() * 41 as int), 2)--生成介于20-60的年龄数字
SET @place = (select top 1 name from province order by newid())--从place_Name表随机获得籍贯名称
SET @edu = (select top 1 t1 from edu order by newid())--从education_Name表随机获得学历
SET @major = (select top 1 major from major order by newid())--从major_Name表随机获得专业名称
SET @jobyears = cast(floor(rand() * 11) as int)--生成介于0-10的工作经验的年龄数字

if @age>30 and @age<50 and @edu!= CERT and @edu!= UG and @major!= NONE
begin
if @edu=PHD SET @result=3
begin
else begin if @edu=MBA and @major=BUSAD begin SET @result=2 end end
else begin SET @result=1 end
end
else begin SET @result=0 end

INSERT INTO JAD SELECT
id=@id,
age = @age,
pob = @place,
education = @edu,
major = @major,
jobyears = @jobyears,
results = @result,
FROM syscolumns c1, syscolumns c2
SET @sum = @sum - @@ROWCOUNT
END

错误是:
消息 156,级别 15,状态 1,第 39 行
关键字 'else' 附近有语法错误。
消息 156,级别 15,状态 1,第 40 行
关键字 'else' 附近有语法错误。
消息 156,级别 15,状态 1,第 52 行
关键字 'FROM' 附近有语法错误。

求更正
展开
 我来答
alex_hy
2009-10-26 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2601
采纳率:100%
帮助的人:981万
展开全部
中间一段改成
if @age>30 and @age<50 and @edu!= CERT and @edu!= UG and @major!= NONE
begin
if @edu=PHD SET @result=3
else begin if @edu=MBA and @major=BUSAD begin SET @result=2 end
else begin SET @result=1 end end
end
else begin SET @result=0 end

最后一处from前多了个逗号
英雄少女林小壮
2009-10-27 · TA获得超过117个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:90.2万
展开全部
把你的语句放到查询分析器里就知道哪里错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式