如何在SYBASE ASE中使用select到局部变量

时间:2014-03-10 19:41:40

标签: sybase sybase-ase

我正在使用Sybase ASE 15.0.3。我想使用这种类型的逻辑,但它给了我错误。

begin
declare 
@b int, @c int

select      @b = Count(My_ID) 
FROM        some_table
WHERE       (some_condition);


select      @c = Count(My_Sales) 
FROM        some_table
WHERE       (some_condition);


insert into my_table (new_id, new_sales) value (@b, @c);

end;

然后使用这些变量将值插入表中。

错误:“尝试将空值插入”new_id“,表”my_table“列不允许空值。更新失败”

1 个答案:

答案 0 :(得分:1)

您可能必须在执行之前准备SQL语句,方法如下:

 select @sql='insert into my_table (new_id, new_sales) values ('+convert(varchar(10),@b)+','+convert(varchar(10),@c)+')'
 exec @sql