1

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

这是我的代码:

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
4

1 回答 1

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 values val1, val2,val3作为第二个过程的参数。

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

于 2012-11-29T08:22:48.503 回答