oracle link
俩台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。
其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。
创建可以采用两种方式:
1、已经配置本地服务
create public database
link fwq12 connect to fzept
identified by neu using 'fjept' CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
2、未配置本地服务
create database link linkfwq
connect to fzept identified by neu
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = fjept)
)
)';
host=数据库的ip地址,service_name=数据库的ssid。
其实两种方法配置dblink是差不多的,我个人感觉还是第二种方法比较好,这样不受本地服务的影响。
数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.
数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样
数据库全局名称可以用以下命令查出
SELECT * from GLOBAL_NAME;
查询远端数据库里的表
SELECT …… from 表名@数据库链接名;
查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。
附带说下同义词创建:
&nb
相关文档:
Oracle Connect By用法
oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:
select ... from
where
start with
connect by
;
select * from (
select cw2.NO WHOLENO,sp1.ARGUMENTNAME TYPENAME,sp2.ARGUMENTNAME BRANDNAME,sp3.ARGUMENTNAME STYLENAME,sp4.ARGUMENTNAME DEPART,so.OPERATORNAME USERNAME
from COM_WHOLE_INFO cw2,SYS_OPERATOR so, SYS_PUBLICARGUMENT sp1, SYS_PUBLICARGUMEN ......
刚开始学习Orace,遇到一些非常好的书,在下面列出,随着学习的深入会把遇到的好书都列出来,供学习Oracle的朋友参考,
也欢迎各位朋友补充:
基础:
1. ORACLE DBA基础培训教程 何明著 清华大学出版社
&n ......
外键约束保证参照完整性。外键约束限定了一个列的取值范围。一个例子就是限定州名缩写在一个有限值集合中,这个值集合是另外一个控制结构——一张父表
下面我们创建一张参照表,它提供了完整的州缩写列表,然后使用参照完整性确保学生们有正确的州缩写。第一张表是州参照表,State作为 ......
--创建对象类型
create or replace type emp_typ as object (
id number,
name varchar2(30),
sal number,
comm number,
member procedure change_comm(new_comm number),
member function get_info return varchar2
) ;
--创建对象类型构造函数定义
create or replace type body emp_typ is
member proce ......