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

Sử dụng trình phân tích cú pháp cơ sở dữ liệu Oracle từ Java bằng JDBC

Tôi không biết chính xác bạn muốn đạt được điều gì nhưng có lẽ bạn nên thử sử dụng gói DBMS_SQL và đó là phương thức PARSE . Điều này chỉ hoạt động với DML chỉ báo cáo. Đây là những gì Nhà phát triển SQL Oracle làm.

trình phân tích cú pháp này cũng có thể được sử dụng cho các câu lệnh DML. Đối với PL / SQL, nó sẽ cần một số điều chỉnh. Theo như tôi biết thì không ai dành đủ thời gian để tạo một trình phân tích cú pháp xác thực hoàn toàn thực sự cho DDL của Oracle.

Tại đây là một ví dụ về cách tôi sử dụng nó:

declare 
 l_cursor number := dbms_sql.open_cursor; 
 l_offset number := -1 ; 
begin 
  begin 
    dbms_sql.parse( l_cursor, :st, dbms_sql.native ); 
  exception when others then
   l_offset := dbms_sql.last_error_position;
  end;
dbms_sql.close_cursor( l_cursor );
  :off := l_offset;
end;

Đơn giản chỉ cần thực hiện khối này. Chuyển một tham số đầu vào kiểu VARCHAR2 (Chuỗi) (tối đa 32KB) và một tham số đầu ra NUMBER.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi gặp lỗi ORA-01775:lặp lại chuỗi từ đồng nghĩa khi tôi sử dụng sqlldr

  2. Khôi phục vùng bảng USERS không hoạt động. Sao lưu Oracle

  3. Cách chèn danh sách dưới dạng tham số từ powershell sang SqlPlus

  4. Lỗi giá trị hoặc số trong một hàm và tôi không thể phát hiện ra mình đã sai ở đâu Oracle

  5. Có bất kỳ lý do hợp lý nào của việc có các vùng bảng khác nhau cho các chỉ mục không?