关于外键约束和对应主键信息的查询脚本
来源:互联网 发布:轻淘客创建cms方法 编辑:程序博客网 时间:2024/03/29 08:25
原创于2006年12月28日,2009年10月15日迁移至此。
初衷是想根据表中存在的外键信息得到相应的索引脚本,后来才扩展到获取相应的主键字段,大同小异。
这些系统表都是相类似的,例如user_cons_columns 和user_constraints, user_indexes和user_ind_columns
定义一个函数,把多列的约束字段以逗号串起来
create or replace function f_GetConstraintColumn(itablename in Varchar2,iConstraintName in Varchar2)
return varchar2 is
type cur_type is ref cursor;
myCur cur_type;
v_Column1Value varchar2(4000);
v_Result varchar2(32767);
begin
Open myCur for Select COLUMN_NAME
From user_cons_columns
Where table_name=itablename And constraint_name=iConstraintName
Order By POSITION;
Loop
Fetch myCur Into v_Column1Value;
Exit When myCur%notfound;
v_Result:=v_Result||v_Column1Value||',';
End Loop;
Close myCur;
v_Result:=substr(v_Result,1,length(v_Result)-1);
return(v_Result);
end ;
--该语句用来得到外键表、外键约束名称、外键字段和相应的主键表、主键字段,主键约束名称等等,稍作改动便可以写出创建相应的约束脚本和索引脚本
Select
a.table_nameForeignKeyTableName,a.constraint_name,f_GetConstraintColumn(a.table_name,a.constraint_name) ForeignKeyColumnsName,
a.r_constraint_name,b.table_namePrimaryKeyTableName,f_GetConstraintColumn(b.table_name,a.r_constraint_name) PrimaryKeyColumnsName
From user_constraints a,user_constraints b
Where a.constraint_type='R'
And a.r_constraint_name=b.constraint_name
-- And a.table_name = 'T_FACTORING_INV'
Order By a.table_name, a.constraint_name
- 关于外键约束和对应主键信息的查询脚本
- 创建主键约束外键约束脚本
- Oracle 查看一个表对应的主键和外键的约束关系,查看的语句:
- Oracle 查看一个表对应的主键和外键的约束关系
- Oracle中如何创建约束,查询约束和删除约束(check约束,外键和主键约束)
- oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- SQL的主键和外键约束
- 安装SQLServer挂起的解决方法
- scanf详细使用说明
- 最近做PS项目学到的一些东西
- 检查数据库数据字段命名规范和合法性的脚本
- MAPXTREME FOR JAVA中中文显示问题
- 关于外键约束和对应主键信息的查询脚本
- windows下提升进程权限
- oper tools 教程 介绍及安装
- 关于数据库对象版本比较的脚本
- java能把我晕死
- VC++学习(1)——介绍一些重要概念
- java遍历Map中的元素
- 关于SAVEPOINT和自定义异常使用的一点看法
- wifi子系统分析