SQL写法规范(创建,更新等)
2016-03-24 17:43
344 查看
SQL写法规范
一、创建表declare cnt integer; begin select count(0) into cnt from user_all_tables where table_name = upper('Student_Info'); if cnt = 0 then execute immediate 'CREATE TABLE STUDENT_INFO ( ID VARCHAR2(12) NOT NULL)'; end if; end; /
二、增加约束
declare cnt integer; begin select count(0) into cnt from user_constraints a where a.constraint_name = upper('STUDENT_UK'); if cnt = 0 then execute immediate 'ALTER TABLE STUDENT ADD CONSTRAINT STUDENT_UK UNIQUE(ID) ENABLE'; end if; end;
三、更新表字段大小
declare cnt integer; begin select count(0) into cnt from user_tab_columns a where a.Table_name = upper('STUDENT') and a.COLUMN_NAME = upper('ID') and a.DATA_LENGTH < 32; if cnt = 1 then execute immediate 'ALTER TABLE STUDENT modify ID VARCHAR2(64)'; end if; end;
四、创建序列
declare cnt integer; begin select count(0) into cnt from user_sequences a where a.sequence_name = upper('STUDENT_SEQ'); if cnt = 0 then execute immediate 'create sequence STUDENT_SEQ MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE'; end if; end; /
五、创建索引
declare cnt integer; begin select count(0) into cnt from user_indexes a where a.index_name = upper('UK_ID') and a.table_name = upper('STUDENT'); if cnt = 0 then execute immediate 'create unique index UK_ID on STUDENT ( ID ASC)'; end if; end; /
六、增加列
declare cnt integer; begin select count(0) into cnt from user_tab_columns a where a.Table_name = upper('STUDENT') and a.COLUMN_NAME = upper('NAME'); if cnt = 0 then execute immediate 'ALTER TABLE STUDENT ADD NAME varchar2(22)'; end if; end; /
七、删除序列和索引
declare cnt integer; begin select count(0) into cnt from user_constraints a where a.constraint_name = upper('PK_STUDENT'); if (cnt > 0) then execute immediate 'alter table cnaps drop constraint PK_STUDENT'; end if; select count(0) into cnt from user_indexes a where a.index_name=upper('PK_STUDENT'); if (cnt > 0) then execute immediate 'drop index PK_STUDENT'; end if; end; /
命名规则:
update: *.SQL
create table: *.TAB
create sequence: *SEQ.PDC
create procedure: *.PRC
create view: VM_*.VM
批量执行sql文件:
文件内容(*.pdc):
@目录\sql1.PDC;
@目录\sql2.PDC;
通过pl/sql打开command script 然后找到批量执行文件*.pdc,然后选择“执行”
相关文章推荐
- Litepal创建表时报错 an exception that indicates there was an error with sql parsing or execution
- MySQL存储引擎--简介入门
- SQL实例整理
- [Java代码] Java操作Redis
- c#怎样连接MySQL数据库
- ORACLE之PACKAGE
- Oracle Database 11g For Windows7 旗舰版的安装
- MySql中删除重复垃圾记录
- 数据库基础
- dao层用Hibernate 查询 返回null无值、并且控制台没有输出SQL日志,也没有报任何异常
- sqlyog不用密码登陆(强制取消)
- oracle communities
- 在SqlServer2008R2中,在一张表上加上insert、update、delete触发器(带游标)
- 记录---ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
- sql基本语法:
- Sql2008R2设置远程链接
- 记录---oracle中 sql%rowcount 用法
- SQLite的主键外键
- 在SqlServer2008R2中,根据分隔符把一列的值切割成多列
- MySQL性能优化