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

ORA-00922:tùy chọn bị thiếu hoặc không hợp lệ khi thực thi câu lệnh đặt dài 100000 trong oracle

Set long 10000 là một lệnh SQL * PLUS, không phải là một SQL tiêu chuẩn, đó là lý do tại sao bạn gặp lỗi.

Ví dụ

ResultSet rs = stmt.executeQuery("SELECT DBMS_METADATA.GET_DDL('TABLE','YOUR_OBJECTS','JAY') as ddl FROM dual");

              while(rs.next()){
                  System.out.println(rs.getString(1));
              }

Đầu ra

CREATE TABLE "JAY"."YOUR_OBJECTS" 
   (    "OWNER" VARCHAR2(128) NOT NULL ENABLE, 
    "OBJECT_NAME" VARCHAR2(128) NOT NULL ENABLE, 
    "SUBOBJECT_NAME" VARCHAR2(128), 
    "OBJECT_ID" NUMBER NOT NULL ENABLE, 
    "DATA_OBJECT_ID" NUMBER, 
    "OBJECT_TYPE" VARCHAR2(23), 
    "CREATED" DATE NOT NULL ENABLE, 
    "LAST_DDL_TIME" DATE NOT NULL ENABLE, 
    "TIMESTAMP" VARCHAR2(19), 
    "STATUS" VARCHAR2(7), 
    "TEMPORARY" VARCHAR2(1), 
    "GENERATED" VARCHAR2(1), 
    "SECONDARY" VARCHAR2(1), 
    "NAMESPACE" NUMBER NOT NULL ENABLE, 
    "EDITION_NAME" VARCHAR2(128), 
    "SHARING" VARCHAR2(13), 
    "EDITIONABLE" VARCHAR2(1), 
    "ORACLE_MAINTAINED" VARCHAR2(1)
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "ORAPDB1_TBS1" 

Tôi đã nhận được một phần DDL trong khi chạy cùng một câu lệnh trên SQL * PLUS.

SQL> SELECT DBMS_METADATA.GET_DDL('INDEX','SYS_IL0000092981C00086$$','JAY') as ddl FROM dual;

DDL
--------------------------------------------------------------------------------

  CREATE UNIQUE INDEX "JAY"."SYS_IL0000092981C00086$$" ON "JAY"."SYS_EXPORT_SCH

Ở đây tôi có thể lấy toàn bộ DDL bằng cách đặt SET LONG NHƯNG tôi nhận được đầu ra hoàn chỉnh trên Ứng dụng Java.

Đầu ra (Eclipse)

  CREATE UNIQUE INDEX "JAY"."SYS_IL0000092981C00086$$" ON "JAY"."SYS_EXPORT_SCHEMA_01" (
  PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "ORAPDB1_TBS1" 
  PARALLEL (DEGREE 0 INSTANCES 0) 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORACLE SQL chọn riêng biệt không xóa các bản sao

  2. ORA-14551:không thể thực hiện thao tác DML bên trong truy vấn

  3. Tại sao một từ đồng nghĩa Oracle lại trả về một số hàng khác nhau cho bảng bên dưới?

  4. Thay đổi cổng Oracle từ cổng 8080

  5. Kiểm tra Ràng buộc Gọi hàm Nhà phát triển Oracle SQL