-
1 merge 合并查询 merge into tabl1 a
using (select 1717 product_id,"002" req_no from table2 b
on (a.product_id = b.product_id and a.req_no = b.req_no)
when matched then
update set product_name = "更新",category = "新的"
when not matched then
insert (product_id,req_no) values(1701,"002");
命令解释:
合并查询 表a
关联查询为 b表的product_id字段为1717和req_no字段为"002" 的值
判断条件为 a表的的product_id等于1717和req_no字段为"002"也为002的
当有符合搜索结果的内容时
更新 a表对应的内容的product_name为“更新”,req_no为"002"
当没有符合条件的内容时
执行a表的插入操作
-
2 start with connect by 递归查询 应用在树形结构中,比如领导和下属的递归关系 start with 从某个节点ID开始 connnect by prior 子节点与父节点的关系 比如: select * from emp start with empnumber=3306 connect by prior meg=empnumber;
- 父节点=子节点,向上查询;子节点=父节点,向下查询
- 可以添加 WHERE 条件判断; 写在 start 的前面;
- 可以指定多个起始节点,使用 OR 关键字;
- 可以进行排序
?
-
3 同义词 sysnonym 可以为表起别名,是一种映射关系,别名的意思,和视图的功能类似;不同数据库实例间也可以访问同义词; 私有同义词,普通用户获取对应权限后自己建立的同义词; create sysnonym name from table_name; 共有同义词,DBA创建,所有的用户可以使用 create public sysnonym name from 用户名.table_name; 使用: select * from 同义词;
远程访问同义词
首先设置同义词的远程连接
create public database link mylink
connect to 用户 identified by 密码 using
‘(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP) (HOST=127.0.0.1)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=数据库名))
)
)‘;
使用
select * from 表名@mylink;
注意:
远程连接时,二进制数据无法展示
(编辑:开发网_开封站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|