CREATE PROCEDURE SalBar_sp3 @co_code varchar(10)='ytsf', @ws_user_name varchar(20)='CZM' ASdeclare @ws_grp_code varchar(10), @ws_dft_car_no int, @ws_trx_code varchar(10), @ws_srj_code varchar(10),@ws_date char(10)select top 1 @ws_dft_car_no=convert(int ,code) from pubcode_dtl_table where co_code=@co_code and code_type='CARN' and code not in (select convert(char(4),car_no) from barrow_table where co_code=@co_code and [user_name]=@ws_user_name ) order by codeselect @ws_trx_code=rtrim(char_value) from userparms_table where co_code=@co_code and [user_name]=@ws_user_name and parm_code='DFSALTYP' IF ISDATE(@WS_DATE)=0 SET @WS_DATE =convert(varchar(10),getdate(),101) IF @WS_DFT_CAR_NO IS NULL SET @WS_DFT_CAR_NO=1 select car_no=@ws_dft_car_no,trx_code=@ws_trx_code, srj_code=@ws_srj_code,dft_date=@ws_date GO 这个变量可是在后面的哦
select=setdeclare @i int
select @i=1意思相当于set @i=1
帖出来看看.ex:
declare @str varchar(10)
select @str='test'
print @str
这个就可以当赋值用
CREATE PROCEDURE SalBar_sp3
@co_code varchar(10)='ytsf',
@ws_user_name varchar(20)='CZM' ASdeclare @ws_grp_code varchar(10), @ws_dft_car_no int, @ws_trx_code varchar(10),
@ws_srj_code varchar(10),@ws_date char(10)select top 1 @ws_dft_car_no=convert(int ,code) from pubcode_dtl_table where co_code=@co_code and
code_type='CARN' and code not in (select convert(char(4),car_no) from barrow_table
where co_code=@co_code and [user_name]=@ws_user_name )
order by codeselect @ws_trx_code=rtrim(char_value)
from userparms_table
where co_code=@co_code and [user_name]=@ws_user_name and parm_code='DFSALTYP'
IF ISDATE(@WS_DATE)=0 SET @WS_DATE =convert(varchar(10),getdate(),101) IF @WS_DFT_CAR_NO IS NULL SET @WS_DFT_CAR_NO=1 select car_no=@ws_dft_car_no,trx_code=@ws_trx_code, srj_code=@ws_srj_code,dft_date=@ws_date
GO
这个变量可是在后面的哦
select @a=1,@b=2
主要是为了给多个变量进行赋值的
set 一次只能给一个赋值
select 可以一次给多个赋值
select 一次多个赋值
可以从表中得到(这就是正常用法,需要与from结合使用)
也可以临时得到一个数据集,比如:
select getdate()