Sadece herkes bu yardımcı olabilir merak, ben (ekstra alanları ekleyerek) tabloları değiştirmek için iki PLSQL ifadeleri var ve onlar şunlardır:İki PLSQL ifadesi, başlangıç ve bitiş ile birlikte ayrı ayrı çalışıyor ancak birlikte çalışmıyor mu?
-- Make GC_NAB field for Next Action By Dropdown
begin
if 'VARCHAR2' = 'NUMBER' and length('VARCHAR2')>0 and length('')>0 then
execute immediate 'alter table "SERVICEMAIL6"."ETD_GUESTCARE" add(GC_NAB VARCHAR2(10,))';
elsif ('VARCHAR2' = 'NUMBER' and length('VARCHAR2')>0 and length('')=0) or
'VARCHAR2' = 'VARCHAR2' then
execute immediate 'alter table "SERVICEMAIL6"."ETD_GUESTCARE" add(GC_NAB VARCHAR2(10))';
else
execute immediate 'alter table "SERVICEMAIL6"."ETD_GUESTCARE" add(GC_NAB VARCHAR2)';
end if;
commit;
end;
-- Make GC_NABID field for Next Action By Dropdown
begin
if 'NUMBER' = 'NUMBER' and length('NUMBER')>0 and length('')>0 then
execute immediate 'alter table "SERVICEMAIL6"."ETD_GUESTCARE" add(GC_NABID NUMBER(,))';
elsif ('NUMBER' = 'NUMBER' and length('NUMBER')>0 and length('')=0) or
'NUMBER' = 'VARCHAR2' then
execute immediate 'alter table "SERVICEMAIL6"."ETD_GUESTCARE" add(GC_NABID NUMBER())';
else
execute immediate 'alter table "SERVICEMAIL6"."ETD_GUESTCARE" add(GC_NABID NUMBER)';
end if;
commit;
end;
Ben sorun yok, ayrı ayrı bu iki sorgu çalıştırdığınızda. yukarıda gösterildiği gibi birlikte çalıştıklarında ikinci ifadeyi başladığında Ancak, Oracle bana bir hata veriyor:
Error report:
ORA-06550: line 15, column 1:
PLS-00103: Encountered the symbol "BEGIN"
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
bu düzgün kesilmez ilk açıklama anlamına geldiğini tahmin ediyorum ... bir şey var ben gerektiğidir düzgün bir şekilde çalışmasını sağlamak için ifadeler arasına yerleştirmek?