动软论坛安装使用交流新功能建议 关于for oracle版本中主键选择的问题

1  /  1  页   1 跳转 查看:1365

关于for oracle版本中主键选择的问题

关于for oracle版本中主键选择的问题

在For oracle中,现在的主键是手工选择的,能不能让系统自己来判定那些是主键?我这儿有段代码,经证实,能起到选择的作用,希望能在新版本中加入。

引用:
SELECT COL.TABLE_NAME as TNAME,
TCOM.COMMENTS as TCMT,
COL.COLUMN_NAME as COL_NM,
CCOM.COMMENTS as COL_CMT,
COL.COLUMN_ID ID,
PKCOL.COLUMN_POSITION AS PK,  --就是这儿,如果有多个主键,就会以1,2,3。。。这样的顺序下去
COL.DATA_TYPE as TYPE_CD,
DECODE(COL.DATA_TYPE, 'NUMBER',COL.DATA_PRECISION ||'.'||COL.DATA_SCALE, COL.DATA_LENGTH) as LENGTH,
COL.NULLABLE as NULL_YN,
COL.DATA_DEFAULT as D_DEFAULT,
COL.NUM_DISTINCT as NUM_DISTINCT
FROM USER_TAB_COLUMNS COL,
USER_TAB_COMMENTS TCOM,
USER_COL_COMMENTS CCOM,
( SELECT AA.TABLE_NAME, AA.INDEX_NAME, AA.COLUMN_NAME, AA.COLUMN_POSITION
FROM USER_IND_COLUMNS AA, USER_CONSTRAINTS BB
WHERE BB.CONSTRAINT_TYPE = 'P'
AND AA.TABLE_NAME = BB.TABLE_NAME
AND AA.INDEX_NAME = BB.CONSTRAINT_NAME
-- AND AA.TABLE_NAME IN ('ITEM_CLASS')
) PKCOL
WHERE COL.TABLE_NAME = TCOM.TABLE_NAME
AND COL.TABLE_NAME = CCOM.TABLE_NAME
AND COL.COLUMN_NAME = CCOM.COLUMN_NAME
AND COL.TABLE_NAME = 'ITEM_CLASS'
AND COL.COLUMN_NAME = PKCOL.COLUMN_NAME(+)
AND COL.TABLE_NAME = PKCOL.TABLE_NAME(+)
ORDER BY COL.TABLE_NAME ,
COL.COLUMN_ID
 

回复:关于for oracle版本中主键选择的问题

不知道能不能加精啊,呵呵
 

回复: 关于for oracle版本中主键选择的问题



引用:
原帖由 hzleihuan 于 2008-3-28 10:15:00 发表
不知道能不能加精啊,呵呵


谢谢
 
1  /  1  页   1 跳转

版权所有 动软.net代码生成器  Maticsoft  Sitemap

   Copyright © 2001-2008 Comsenz Inc.
Processed in 0.03125 second(s) , 4 queries. 京ICP备06044726号
返顶部