问题标签 [dbms-metadata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - Oracle 的 dbms_metadata.get_ddl for object_type JOB
我想为我的大多数数据库对象创建 ddl 脚本。dbms_metadata.get_ddl适用于大多数对象类型。例如,以下为视图创建 ddl:
另一方面,它不适用于 object_type 'JOB'。以下:
给出以下错误:
如果我列出我的工作使用
它显示 SAMPLE_JOB(就像它显示 SAMPLE_VIEW 如果过滤为 object_type='VIEW')。
为什么它适用于 VIEW(和 TABLE、INDEX、TRIGGER,...)而不适用于 JOB?
我正在使用 Oracle 10g。
database - Oracle 的 dbms_metadata 如何产生与表模式文件分离的约束?
为什么 dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'CONSTRAINTS_AS_ALTER', TRUE) 不在单独的文件中生成约束?此时,这个 pl/sql 将约束粘贴在表模式定义文件之后。我必须使用什么标志来实现这个单独的约束架构定义目录?
oracle - 哪个 Oracle 视图包含所有约束?
我正在尝试从 user_objects 表中获取 CONSTRAINTS ,如下所示:
但是..... USER_OBJECTS 只有这些类型 FUNCTION
INDEX、PACKAGE、PACKAGE BODY、PROCEDURE、SEQUENCE、TABLE、TRIGGER、VIEW 因为从 user_objects 中选择不同的 object_type;退还了他们。所以这个查询根本没有给我约束。
有没有办法从 Oracle 获得所有约束?我应该使用哪个 Oracle 视图?
oracle - 为什么 ths 在匿名中有效,但在过程中无效?
如果我执行以下操作,一切都很好:
但是,如果我将其包装在一个过程中:
并通过“执行测试”执行程序;然后我捕获了一个在模式 SCOTT 中找不到的 USER 类型的对象 SCOTT。
为什么会这样,我该如何解决?
谢谢克里斯
oracle - ojdbc 中是否有用于 DBMS_METADATA 包常量的内置函数?
包 Oracle DBMS_METADATA包含对象类型常量
我希望使用此常量在 java 中进行程序,并希望尽可能避免代码重复。
ojdbc 中是否有用于 DBMS_METADATA 包常量的内置函数?
像枚举或public static final String
?
oracle - 使用 DBMS_METADATA.GET_DDL 为没有模式名称的对象生成 DDL 脚本?
DBMS_METADATA.GET_DDL
如何在没有嵌入架构名称的情况下为我的对象生成 DDL 脚本?
与DBMS_METADATA.GET_DDL
:
SQL Developer 可以做到这一点,我认为它也使用 DBMS_METADATA 来实现这个目标和通用 DDL 脚本。
使用 SQL 开发人员:
database - 如何正确使用 CONSTRAINTS_AS_ALTER 进行 GET_DDL?
当我运行这些命令时,不幸的是,我在每个表之后都得到了 alter 语句。我更愿意为我的所有表生成 DDL,然后在之后使用 alter 语句来设置约束。目前,alter 语句对某些表运行并失败,因为所引用的表尚未创建。
我见过这个命令:
但是要使用它,我是否不必以某种方式告诉GET_DDL
根本不产生任何约束?
有什么方法可以让表格以正确的顺序创建吗?
谢谢!
oracle - dbms_metadata.get_granted_ddl('SYSTEM_GRANT', 'AQ_ADMINISTRATOR_ROLE') ora-31608 错误的原因是什么?
我想使用 dbms_metadata 包获取数据库中所有角色的 ddls。不幸的是,当角色没有授予(对象、系统或角色类型)时,dbms_metadata.get_granted_ddl 失败并出现错误。这就是为什么我必须检查 dba_tab_privs、dba_sys_privs 和 dba_role_privs 视图中是否存在特权。但是 AQ_ADMINISTRATOR_ROLE 角色具有系统权限以下语句失败。检查了两个数据库。
ORA-31608:未找到 SYSTEM_GRANT 类型的指定对象 ORA-06512:在“SYS.DBMS_METADATA”,第 4018 行 ORA-06512:在“SYS.DBMS_METADATA”,第 5991 行 ORA-06512:在第 1 行
oracle - 使用 dbms_metadata 创建具有附加列的表副本
您可以通过执行获取表的 DDL DBMS_METADATA.get_DDL('Table','TABLENAME')
。我正在寻找一种方法来更改 DDL 中表的名称,然后执行 DDL 以创建具有新名称和附加列的等效表。
sql - 使用查询获取 VIEW ddl
对于数据库重新架构,我需要获取每个表的 DDL 并在数据库(Oracle)中查看。我不想转到每个表/视图的属性并在 SQL Developer 中从中获取 SQL。
我成功地获得了用于表格的 DDL -
但面临 VIEW 和 MVIEW 的问题。任何人都可以为表格以外的元素提供命令/关键字。
另外,我想将结果导出到一个excel文件中,第一TableName
列为DDL,第二列为DDL。