如何知道当用户向table中插入一条新记录时,是否自动生成了表示table主键的字段值?
How can I know if a field value that represent the primary key of a table is automatically generated when the user insert a new record into the table?
我不是很了解数据库,我有以下疑问。
我正在使用 Oracle SQL Developer 作为 "IDE".
开发 Oracle 数据库
在这里我可以检查一个名为 coda_rx 的 table,它有一些字段。其中一个字段名为 PK_CODA(这是第一个),我认为它代表了这个 table 的主键。它不是 nullabe(并且此特征必须是主键)。
我的问题是:当用户向我的 coda_rx [=35= 中插入新记录时,如何检查该字段的值是否自动生成]?
谢谢
要确认该列是否是table的主键,可以加入USER_CONSTRAINTS和USER_CONS_COLUMNS 次观看。
SELECT a.table_name,
a.constraint_type,
b.constraint_name,
b.column_name
FROM user_constraints a,
user_cons_columns b
WHERE a.owner= b.owner
AND a.table_name = b.table_name
AND a.constraint_name = b.constraint_name
AND a.table_name =UPPER('coda_rx')
AND a.constraint_type='P';
现在,有两种方法可以自动填充列:
- 标识列 在 12c
中引入
- 触发器和序列
如果它是标识列,那么您可以查询 all_tab_identity_cols 视图:
SELECT table_name,
column_name,
generation_type,
identity_options
FROM user_tab_identity_cols
WHERE table_name = UPPER('coda_rx')
ORDER BY 1,
2
如果 table 上有触发器使用序列填充列,您可以查询 user_triggers 视图:
SELECT trigger_name,
table_name,
column_name
FROM user_triggers;
在SQL开发者中更简单:
- 打开对象浏览器
- 单击并展开表格
- 单击并展开所需的 table
- 双击列名称
- 它将打开 table 视图。
- 单击约束和触发器选项卡
有关这两个功能的更多详细信息,请阅读:
我不是很了解数据库,我有以下疑问。
我正在使用 Oracle SQL Developer 作为 "IDE".
开发 Oracle 数据库在这里我可以检查一个名为 coda_rx 的 table,它有一些字段。其中一个字段名为 PK_CODA(这是第一个),我认为它代表了这个 table 的主键。它不是 nullabe(并且此特征必须是主键)。
我的问题是:当用户向我的 coda_rx [=35= 中插入新记录时,如何检查该字段的值是否自动生成]?
谢谢
要确认该列是否是table的主键,可以加入USER_CONSTRAINTS和USER_CONS_COLUMNS 次观看。
SELECT a.table_name,
a.constraint_type,
b.constraint_name,
b.column_name
FROM user_constraints a,
user_cons_columns b
WHERE a.owner= b.owner
AND a.table_name = b.table_name
AND a.constraint_name = b.constraint_name
AND a.table_name =UPPER('coda_rx')
AND a.constraint_type='P';
现在,有两种方法可以自动填充列:
- 标识列 在 12c 中引入
- 触发器和序列
如果它是标识列,那么您可以查询 all_tab_identity_cols 视图:
SELECT table_name,
column_name,
generation_type,
identity_options
FROM user_tab_identity_cols
WHERE table_name = UPPER('coda_rx')
ORDER BY 1,
2
如果 table 上有触发器使用序列填充列,您可以查询 user_triggers 视图:
SELECT trigger_name,
table_name,
column_name
FROM user_triggers;
在SQL开发者中更简单:
- 打开对象浏览器
- 单击并展开表格
- 单击并展开所需的 table
- 双击列名称
- 它将打开 table 视图。
- 单击约束和触发器选项卡
有关这两个功能的更多详细信息,请阅读: