nasıl

2009-02-28 24 views
0

nasıl ben mesela bir sorgu
kullanarak aynı prosedürün içerisine yordam parametreleri erişebilirim Sorguda bir prosedür parametresini kullanmak: Yukarıdaki prosedürde ve birleştirme açıklamada bu prosedürünasıl

procedure game(left in tab.left%type,right in tab.right%type,...) 
is 
--some local variables 
begin 
merge into tgt_table 
using subquery --(here is what i need to use the parameters) 
on some condition 
when matched then 
update the tgt table 
when not matched then 
insert the table; 
end game; 

bkz i Parametre değerini bir tablo referansı olarak kullanacak şekilde ve sorgulanan veya verilen duruma göre tabloya eklediği değerleri kullanarak bir sorguya ihtiyaç duyar.

Yardım edin lütfen.

cevap

1

Sen parametreleri kullanmak tablo tanımlarsanız dinamik SQL kullanmak gerekir okuyunuz şimdiden teşekkür ederiz - gibi bir şey: Ancak

procedure game(left in tab.left%type,right in tab.right%type,...) 
is 
    --some local variables 
    l_sql long; 
begin 
    l_sql := 'merge into tgt_table' 
      || ' using ' || left 
      || ' on some condition' 
      || ' when matched then' 
      || ' update ' || right 
      || ' when not matched then' 
      || ' insert the table'; 
    execute immediate l_sql; 
end game; 

, çok daha fazla iş kalmadı Durum, güncelleme ve ekleme maddelerinin hepsinin kullanılmakta olan tablolara göre değişmesi gerektiğinden dolayı. Bu tedarikin aslında yararlı olacağına inanmıyorum.