如何将存储过程值插入其他存储过程中的参数

时间:2012-11-29 08:15:56

标签: sql

我有两个存储过程,我想在第二个存储过程中将值从第一个存储过程发送到变量。

这是我的代码:

create procedure proc_pos
@pilihan varchar(3),
@kd varchar (10),
@ket varchar (50)

as
begin
declare @id2 varchar (10)
        select @id2=exec gen_number 'IP'

    if @pilihan='ins' 
        begin 
            insert into posisi 
                values (@id2, @ket,GETDATE(), 'Admin',0)
            update master_number set last_number=@id2
        end
    else if @pilihan='upd'
        begin
        update posisi set kd_pos=@kd, keterangan=@ket
                    where kd_pos=@kd
        end
    else if @pilihan='del'
        begin
            update posisi set is_deleted=1
                where kd_pos=@kd
        end
end

1 个答案:

答案 0 :(得分:1)

创建第二个程序:

create procedure proc_pos2
as
begin
decalre 
  @pilihan varchar(3),
  @kd varchar (10),
  @ket varchar (50)

  select @pilihan = 'val1',
         @kd  = 'val2',
         @ket = 'val3'

   exec proc_pos @pilihan, @kd, @ket
end

并运行它:

exec proc_pos2

它会将proc_pos值val1val2val3作为参数发送到第二个过程。

您必须将此值更改为您需要的值。