回 帖 发 新 帖 刷新版面

主题:请教if语句的一个问题。

在MS SQL Server里的一个存储过程里写了这么一段:

declare @tmp table 
(
 a int IDENTITY (1, 1) NOT NULL,
 b int,
 c varchar(255),
 d varchar(255)
)

if @t= '3' then
insert into @tmp(b, c ,d)
select b, c, d from t1 order by [datetime] desc
else
insert into @tmp(b, c ,d)
select b, c, d from t2 order by [datetime] desc

结果在then和else附近报错,这是什么原因呢?

回复列表 (共3个回复)

沙发

要加分号吧。
if @t= '3' then
insert into @tmp(b, c ,d)
select b, c, d from t1 order by [datetime] desc;
else
insert into @tmp(b, c ,d)
select b, c, d from t2 order by [datetime] desc;

板凳

t-sql不是这样的,没有then的

if @t= '3'
insert into @tmp(b, c ,d)
select b, c, d from t1 order by [datetime] desc
else
insert into @tmp(b, c ,d)
select b, c, d from t2 order by [datetime] desc

3 楼

谢谢楼上的,原来是这么回事。

我来回复

您尚未登录,请登录后再回复。点此登录或注册