Chỉ cần tự hỏi nếu có ai có thể giúp với điều này, tôi có hai câu lệnh PLSQL để thay đổi bảng (thêm trường bổ sung) và họ là như sau:Hai câu lệnh PLSQL có bắt đầu và kết thúc, chạy tốt một cách riêng biệt nhưng không cùng nhau?
-- 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;
Khi tôi chạy hai truy vấn những cách riêng biệt, không có vấn đề. Tuy nhiên, khi chạy cùng nhau như được hiển thị ở trên, Oracle cung cấp cho tôi một lỗi khi nó bắt đầu câu lệnh thứ hai:
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:
Tôi giả định rằng điều này có nghĩa là câu lệnh đầu tiên không được kết thúc đúng ... có điều gì tôi nên đặt vào giữa các báo cáo để làm cho nó hoạt động đúng cách?