2012-12-05 24 views
7

Tôi đang sử dụng cơ sở dữ liệu Oracle 10g và cố gắng chạy thủ tục bằng cách sử dụng các lệnh SQL.ORA-00900: câu lệnh SQL không hợp lệ- khi chạy một quy trình trong oracle 10g

create or replace procedure "exam" is 
begin 
    DBMS_OUTPUT.PUT_LINE('Test'); 
end; 

Sau đó nhấp vào nút Chạy. Nó cho thấy: "thủ tục tạo ra".

Khi tôi cố gắng thực hiện nó bằng cách sử:

execute exam; 

sau đó bấm vào nút Run, nó cho thấy:

ORA-00900: invalid SQL statement 

Nhờ sự giúp đỡ của bạn.

Trả lời

12

Chỉ nhận thấy một chi tiết trong câu hỏi của bạn. Bạn nhấn nút run. Vì vậy, bạn phải sử dụng một IDE.

Bạn không thể sử dụng execute trong IDE - đó là lệnh sql*plus. Nó có thể làm việc trong Oracle SQL Developer mặc dù, nhưng tôi sẽ không sử dụng nó anyway;

Hãy thử

begin 
    exam; 
end; 
+0

Tôi đã sử dụng điều này trong các lệnh SQL: tạo hoặc thay thế bài kiểm tra thủ tục bắt đầu DBMS_OUTPUT.PUT_LINE ('Kiểm tra'); kết thúc; Nó hiển thị: Đã tạo thủ tục. khi cố gắng thực thi bằng cách sử dụng thi hành "bài kiểm tra"; Nó hiển thị: ORA-00900: câu lệnh SQL không hợp lệ – kumar

+0

nếu bạn trích dẫn tên thủ tục của mình, sau đó bạn cũng nên báo giá cuộc gọi thủ tục. nếu bạn không - không báo giá ở cả hai nơi. –

+0

thử 'tạo hoặc thay thế bài kiểm tra ...', 'thi thực thi;' (không có dấu ngoặc kép) –

1

Mất dấu ngoặc kép xung quanh tên. Chúng là một thực tế tồi trong Oracle.

+0

khi được sử dụng: tạo hoặc thay thế kỳ thi thủ tục bắt đầu DBMS_OUTPUT.PUT_LINE ('Test'); kết thúc; cùng một lỗi đang đến. – kumar

+0

Phải là cách mà bạn đang thực hiện nó trong bất kỳ công cụ bạn đang sử dụng sau đó. Nó hoạt động trong SQL * Plus? Nếu không, bạn có thể thực hiện nó như là SQL thay vì như một cuộc gọi thủ tục. –

Các vấn đề liên quan