ORACLE 基本操作(精华篇1)

rowid,rownum --oracle 隐藏列

COMMENT on table 表名 is ‘**表’ —表名加注释
COMMENT on COLUMN 表名.字段名is ‘是否评价字段’ ----列名加注释

row_number()over(partition by 字段(以某一个字段分割 )ORDER BY 字段 desc) as row_flg —取最新时间

update 表名 set 字段 =字段 where 字段 is null–更新表

删除数据:
delete from 表名 where -----删某行 可回滚 慢
truncate table 表名 --删除表数据 不可回滚 较快
DROP TABLE 表名 --删除表 不可回滚 删除分区 快

alter table 表名 add(
id VARCHAR2(4000),
date DATE,
) --添加字段

alter table 表名 modify(…)----修改字段
alter table 表名 drop column name —删除字段
alter table 表名 rename column 字段名 to 新字段名 ----重命名字段名
alter table 表名1 rename to 表名2 ----重命名表

--------------oralce 使用Dblink连接其他库
insert into 表名1 as
select * from 表名2@Dblink_数据库名 --插入数据

create table 表名1 as
select * from 表名2@Dblink_数据库名 --创建数据 (无表结构,主键,注释等)

delete from 表1 a where a.rowid !=
(select max(b.rowid) from 表1 b where a.字段=b.字段)–删除重复数据(无主键)
--------------case when 用法------------------
CASE WHEN 字段1= ‘1’ THEN ‘是’
WHEN 字段1 = ‘2’ THEN ‘否’
ELSE ‘其他’ END AS 字段1新名
-------------oracle 减法用法------------------
SELECT trim(字段1) from 表1
minus
SELECT trim(字段1) from 表2—减法
– 创建序列–
create sequence 序列名1
MINVALUE 1 MAXVALUE 99999999999
INCREMENT BY 1 START WITH 1 NOCACHE
NOORDER NOCYCLE ;
–建立触发器
CREATE OR REPLACE TRIGGER 触发器名1
BEFORE INSERT ON 表 REFERENCING OLD AS “OLD” NEW AS “NEW” FOR EACH ROW WHEN (NEW.ID is null)
declare
begin
select 序列名1.nextval into :NEW.ID from dual;
end 触发器名1;

----------创建存储过程
CREATE OR REPLACE
PROCEDURE 存储过程
IS
V_TOTAL INT;
V_DATE VARCHAR(20);
BEGIN
SELECT COUNT(*) INTO V_TOTAL FROM DUAL;
SELECT TO_CHAR(SYSDATE,‘yyyy-MM-dd’) INTO V_DATE FROM DUAL;
DBMS_OUTPUT.PUT_LINE(‘总人数:’||v_total);
DBMS_OUTPUT.PUT_LINE(‘当前时间:’||v_date);
end;

select COLUMN_name from ALL_TAB_COLUMNS WHERE TABLE_NAME=‘表名(全大写)’ --查看(表)列

desc 表—查看(表)列(Command Window)

select * from v$nls_parameters------一、查看数据的编码

----处理plsql乱码
-----二、新建环境变量:2个(系统变量)
—1.
–变量名:LANG
–变量值:zh_CN.GBK
—2.
—变量名:NLS_LANG
–变量值:SIMPLIFIED CHINESE.ZHS16GBK

—备注:UTF8
–变量名:NLS_LANG
–变量值:American_America.AL32UTF8

-----------表字段排序-------------

select object_id from all_objects where owner =‘USER_PSSC’ and object_name =‘DEPARTMENT2’ ----查看表ID 表名必须大写

SELECT obj#,col#, name FROM sys.col$ where obj# = 804784— sysdba下 查看表的列id
update sys.col$ set col# =6 where obj# =804784 and name =‘NAMEQ1’ --重新排序
-----------表字段排序-------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值