oracle数据库常用操作语句 、创建视图
select b.username, b.sid, b.serial#, logon_time from v$locked_object a, v$session b where a.session_id = b.sid order by b.logon_time; alter system kill session'298,3533';--杀掉进程 SID,SERIAL#
新增字段:alter table 表名 add
(NAME VARCHAR(12),
NAME NUMBER(10)
);--如果添加单个字段可以不用括号包起来,例如 alter table custinfo add sex char(1)
添加注释:comment on column 表名.name is '姓名';
删除表字段:alter table 表名 drop column 字段名(列名);
修改字段名:alter table 表名 rename column 现列名 to 新列名;
删除字段名:alter table 表名 drop column 字段名
NVL(a,b): a不为null,结果为a,否则为b。
NVL2(a,b,c) :a不为null, 结果为b, 否则为c。
function:vempid mytable.id%type;//vempid参数的数据类型跟mytable表的id字段类型一样,当你修改mytable表的ID字段类型,就不用修改function了
procedure:newID in mytable.id%type//newId参数的数据类型跟mytable表的id字段类型一样,当你修改mytable表的ID字段类型,就不用修改procedure了
删除函数:drop function 方法名;
minus :A minus B 即在A中存在,而在B中不存在的记录。例如
select id from a minus select id from b
只获取系统日期,不要时分秒
select trunc(sysdate) from dual //这样得到的格式如:2018/08/02
declare匿名函数
declare v_avgsal number(6,2);//定义变量 begin //sql语句 end;
oracle自治事务 :AUTONOMOUS_TRANSACTION
去掉回车换行符:chr(10)是换行符,chr(13)是回车,制表符 chr(9)
replace('去掉 换行符 ',chr(10),'')
oracle 打印输出 :
dbms_output.put_line('需要输出的内容');
select * from 表 where 字段 is null : oracle会查询返回‘’和null的数据。oracle对空字符和null是一个意思
快速新建一个表一模一样的表,并把数据插入。create table newtablename as select * from oldtablename;
Merge into用法
merge into 目标表 a using 源表 b on(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……) when matched then update set a.更新字段=b.字段 when not macthed then insert into a(字段1,字段2……)values(值1,值2……)
macthed或not macthed语句可以只有一个。参考: https://blog.csdn.net/spw55381155/article/details/79891305
PLSQL : https://baike.baidu.com/item/plsql/9042661?fr=aladdin
https://blog.csdn.net/wahaa591/article/details/46648365
------------------------------------------------------------------------------------------------------------
创建视图示例1:
CREATE OR REPLACE VIEW VIEW_INFO AS SELECT a.NAME, a.AGE FROM T_CJZLZF a WHERE a.AGE= 18;
创建视图示例2:
CREATE OR REPLACE VIEW VIEW_INFO AS SELECT a.NAME, a.AGE FROM T_CJZLZF @DL_MYDB a WHERE a.AGE= 18;
@是调用数据库链接(database link)的意思
db link 的主要作用是跨库查询。
-- 查看 DL_MYDB 连的是哪个数据库 SELECT * FROM dba_db_links WHERE db_link = 'DL_MYDB'
视图创建详细参考https://www.cnblogs.com/zl520/p/10245633.html
-----------------------------------------------------------------------------