Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Không thể chạy truy vấn động trong thủ tục được lưu trữ trong khi chọn số lượng bản ghi

Câu lệnh động của bạn không được có dấu chấm phẩy ở cuối; đó là dấu phân tách câu lệnh và không liên quan hoặc hợp lệ cho một câu lệnh đơn lẻ. Dù sao thì bạn cũng chỉ có thể chạy một câu lệnh SQL đơn lẻ (trừ khi bạn đặt nhiều câu lệnh vào một khối PL / SQL ẩn danh).

into cũng ở sai chỗ:

TEMP_1 := 'select count ( '|| E ||' ) from ' || C;

DBMS_OUTPUT.PUT_LINE ('STARTED');
DBMS_OUTPUT.PUT_LINE (TEMP_1);

EXECUTE IMMEDIATE TEMP_1 INTO Count_source;

Không chắc tại sao bạn lại bận tâm đến việc gán và gán các biến cục bộ khi bạn có thể sử dụng trực tiếp các đối số thủ tục, điều này tôi nghĩ làm cho câu lệnh dễ đọc hơn:

TEMP_1 := 'select count ( '|| COLUMN_SOURCE ||' ) from ' || TABLE_SOURCE;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đăng nhập để làm sạch các tệp có dấu ngày tháng

  2. PL / SQL Online MCQ Quiz

  3. Điều kiện kích hoạt trong tất cả các hàng

  4. kết nối jdbc sử dụng trình điều khiển mỏng

  5. 3 cách trả lại múi giờ từ giá trị ngày giờ trong Oracle