a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 162|回复: 0

[考试辅导] oracle认证应用技术学习资料汇总7

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
检查数据库字段命名规范与合法性的脚本
3 h% w! G! r; t7 J6 w做为一名开发DBA,最重要的renweu是经常要检查开发人员或建模人员对数据库的命名规范是否严谨,下文中将主要介绍一个检查数据库数据字段命名规范与合法性的脚本,仅供大家参考。(关键字详细信息可以查看v$reserved_words视图)
% L+ |& p& `0 k: N/ l. i1 t) U  
7 x, s( B( N4 `* _/ l( ~9 ?" S    --检查不符合数据库命名规范的字段名 6 ]" d! s& H4 g: m' @
    Select TABLE_NAME,COLUMN_NAME,DATA_TYPE 3 J! n7 R5 t3 m1 O5 R6 I" }& @
    From user_tab_columns . u" Q4 _" F) o. A
    Where column_name In --(Select keyword From v$reserved_words)
) O4 x5 Q( I8 K6 E7 O4 c    (’ACCESS’,’ADD’,’ALL’,’ALTER’,’AND’,’ANY’,’AS’,’ASC’,’AUDIT’,
8 w- \3 ~" |6 y    ’BETWEEN’,’BY’,’CHAR’,’CHECK’,’CLUSTER’, $ h; f. E& F" E0 ?" V2 Q* j, I# c; ~$ I
    ’COLUMN’,’COMMENT’,’COMPRESS’,’CONNECT’,’CREATE’,’CURRENT’, 5 b7 z2 s: b) X2 Q
    ’DATE’,’DECIMAL’,’DEFAULT’,’DELETE’,
" O" {( Z3 O% L; M% v7 O    ’DESC’,’DISTINCT’,’DROP’,’ELSE’,’EXCLUSIVE’,’EXISTS’,’FILE’, 9 s8 [; n6 c( n; ]$ O
    ’FLOAT’,’FOR’,’FROM’,’GRANT’,’GROUP’, 7 e, ~, W& ^* t6 F
    ’HAVING’,’IDENTIFIED’,’IMMEDIATE’,’IN’,’INCREMENT’,’INDEX’,
( O4 X/ S! Y4 X: a    ’INITIAL’,’INSERT’,’INTEGER’,’INTERSECT’, + C) ?3 P- V! H0 C. v% u4 n
    ’INTO’,’IS’,’LEVEL’,’LIKE’,’LOCK’,’LONG’,’MAXEXTENTS’,’MINUS’, 7 F! T8 q& z! M, h, s
    ’MLSLABEL’,’MODE’,’MODIFY’,’NOAUDIT’, & ]/ ]% u8 j, S' e3 e- ~
    ’NOCOMPRESS’,’NOT’,’NOWAIT’,’NULL’,’NUMBER’,’OF’,’OFFLINE’,’ON’, # g7 B. U1 `7 Z+ L, r' n
    ’ONLINE’,’OPTION’,’OR’,’ORDER’,
2 f, Y7 r) I+ c0 O    ’PCTFREE’,’PRIOR’,’PRIVILEGES’,’PUBLIC’,’RAW’,’RENAME’,’RESOURCE’,
- K* @; B. Z4 F  ^$ l! k/ N+ z8 g    ’REVOKE’,’ROW’,’ROWID’,’ROWNUM’,
# C; F8 N2 V! Z* W    ’ROWS’,’SELECT’,’SESSION’,’SET’,’SHARE’,’SIZE’,’SMALLINT’,’START’, ! J+ e: m! q) W4 q: F$ ]6 C
    ’SUCCESSFUL’,’SYNONYM’,’SYSDATE’,
0 B& A+ x% E( ~) u+ j) X$ K8 z. C    ’TABLE’,’THEN’,’TO’,’TRIGGER’,’UID’,’UNION’,’UNIQUE’,’UPDATE’,
8 {% k( F& M5 {9 m, G    ’USER’,’VALIDATE’,’valueS’,’VARCHAR’,
6 i5 n7 \, X3 n8 T1 l0 {9 ~    ’VARCHAR2’,’VIEW’,’WHENEVER’,’WHERE’,’WITH’)
1 ?; X9 o1 G9 y# v; OOr column_name Like ’% %’ 9 B* b( G' d0 @) |& H
  
* q0 g- B3 J/ R0 q# h+ N" ?. j--检查数据库中相同名字不同类型的字段名
0 \0 A4 k) a0 z9 `! X7 H1 n3 @    select a.column_name,a.data_type,b.data_type From
, I3 ^# }$ _/ G& \' D    (select distinct column_name,data_type from
9 k: ?& A& W, k: |. g9 [- j6 C    all_tab_columns Where TABLE_NAME Like ’T%’) a,
4 a/ E, e$ V* V3 j2 |    (select distinct column_name,data_type from
+ `/ S' t" i+ _2 p5 w5 L    all_tab_columns Where TABLE_NAME Like ’T%’) b 8 H. q- X, e% c1 {0 J: ~
where a.column_name=b.column_name and a.data_typeb.data_type
) D0 t& p$ w; }, w  
" h. F; r$ x2 i, H    --检查数据库中相同名字相同类型不同长度的字段名
- D7 d* Y1 V# \' m  Z2 X( M# |3 H    select a.column_name,a.data_type,b.data_type,
8 p$ ]* D: L/ p- w; {4 Z    a.data_length,b.data_length From 2 a6 X, H5 w9 Q
    (select distinct column_name,data_type,
! {2 f. }4 X. z7 [8 k) Y    data_length from all_tab_columns Where TABLE_NAME Like ’T%’) a,
) A, m& X- J1 b% q4 z    (select distinct column_name,data_type, 2 g/ r' U  Q+ T5 c, a
    data_length from all_tab_columns Where TABLE_NAME Like ’T%’) b 7 R+ e  a* [# t6 |" x- ?) y- {
    where a.column_name=b.column_name and a.data_type=b.data_type And A.DATA_LENGTHB.DATA_LENGTH
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 05:27 , Processed in 0.284454 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表