ORACLE常用sql语句
来源:互联网 发布:php ob get contents 编辑:程序博客网 时间:2024/05/18 02:35
在学习Oracle过程中,学习到了一些常用的SQL语句,现在整理一下,供大家参考和学习
1、SELECT TABLE(查看表信息)
--当前用户SELECT TABLE_NAME,TABLESPACE_NAME FROM USER_TABLES;
--所有用户
SELECT TABLE_NAME,TABLESPACE_NAME FROM ALL_TABLES;
2、ADD CONSTRAINT(增加约束)
ALTER TABLE TABLE_NAME ADD CONSTRAINT CONSTRAINT_NAME PRIMARY KEY(COLUMN_NAME);
ALTER TABLE TABLE_NAME ADD CONSTRAINT CONSTRAINT_NAME UNIQUE(COLUMN_NAME);
3、DROP CONSTRAINT(删除约束)
ALTER TABLE TABLE_NAME DROP CONSTRAINT CONSTRAINT_NAME;
4、SELECT CONSTRAINT(查询约束)
SELECT CU.CONSTRAINT_NAME,CU.TABLE_NAME,CU.COLUMN_NAME
FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME AND AU.CONSTRAINT_TYPE = 'P';
SELECT CU.CONSTRAINT_NAME,CU.TABLE_NAME,CU.COLUMN_NAME
FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME AND AU.CONSTRAINT_TYPE = 'U';
5、CREATE SEQ(创建序列)
CREATE SEQUENCE SEQ_NAME
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
6、DROP SEQ(删除序列)
DROP SEQUENCE SEQ_NAME
7、SELECT SEQ(查询序列)
SELECT SEQUENCE_NAME FROM USER_SEQUENCES;
8、CREATE TRIGGER(为sequence自增创建触发器)
CREATE OR REPLACE TRIGGER TRI_NAME
BEFORE INSERT ON TABLE_NAME
FOR EACH ROW
BEGIN
:NEW.COLUMN_NAME:=SEQ_NAME.NEXTVAL;
END;
9、RENAME NAME (重命名)
ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME;
ALTER TABLE TABLE_NAME RENAME TO NEW_COLUMN_NAME;
10、CREATE JOB(创建触发器)
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME => 'EP_DAY_JD_SALE',
JOB_TYPE => 'STORED_PROCEDURE',
--PROCEDURE_NAME
JOB_ACTION => 'P_DAY_JD_SALE',
START_DATE => TO_DATE('18-11-2014 03:00:00', 'DD-MM-YYYY HH24:MI:SS'),
REPEAT_INTERVAL => 'FREQ=DAILY;INTERVAL=1',
END_DATE => TO_DATE(NULL),
JOB_CLASS => 'DEFAULT_JOB_CLASS',
ENABLED => FALSE,
AUTO_DROP => TRUE,
COMMENTS => '');
END;
11、CREATE PROCEDURE(创建存储过程)
CREATE OR REPLACE PROCEDURE PRO_NAME(PARAMETER IN OUT DATA_TYPE)
IS
--保存表中记录的尽量使用COL%TYPE,这样可以避免因数据结构调整而不断修改存储过程内容
V_PARAM1 OWNER.TABLE_NAME.COL%TYPE;
V_COUNT NUMBER(2,0);
BEGIN
--将表中记录保存到一个变量时,为了避免值为null,可以使用MAX(COL)或MIN(COL)
SELECT MAX(COL) INTO V_PARAM1 FROM TABLE_NAME WHERE CONDITION;
--只是为了判断是否存在记录,可以在条件后面加上ROWNUM<=1,可以避免查询所消耗的时间
SELECT COUNT(*) INTO V_COUNT FROM TABLE_NAME WHERE CONDITION AND ROWNUM<=1;
IF COUNT>0 THEN
DO SOMETHING;
ELSE
DO OTHER THINGS;
END IF;
END PRO_NAME;
1 0
- oracle常用SQL语句
- oracle常用SQL语句
- oracle常用SQL语句
- oracle 常用sql语句
- oracle常用sql语句
- oracle常用SQL语句
- Oracle常用SQL语句
- oracle常用SQL语句
- Oracle sql 常用语句
- oracle常用SQL语句
- 常用oracle sql语句
- oracle常用SQL语句
- oracle常用sql语句
- oracle sql 常用语句
- oracle 常用 sql语句
- Oracle常用SQL语句
- Oracle常用SQL语句
- oracle常用SQL语句
- 抽象类与接口的典型应用:猫狗案例,加入调高的额外功能
- 安卓按比例布局,layout_weight用法、合用weightSum属性和layout_weight属性
- 【Android】Share via whatsapp
- iOS学习笔记12--纯代码实现原生UITabBarController,手势滑动切换视图
- pyinstaller ImportError: The 'packaging' package is required; ...
- ORACLE常用sql语句
- CATransform3D 特效详解(关于图层的几个坐标系)
- perl 爬取同花顺数据
- linux HTB 队列限速
- Linux 下多线程排序的实现
- scoi小凸玩矩阵 匈牙利+二分
- 交叉编译openssl-1.0.0e
- Windows Dev Intro - Error to String
- Cordova--将应用部署在服务器端的实践