`
flyfoxs
  • 浏览: 297786 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

通过View修改/插入数据,View是通过DBLink连接的表

阅读更多
通过DBLink,创建视图

DROP VIEW
IF EXISTS auth_mst;

CREATE VIEW auth_mst AS SELECT
	auth_id,
	auth_nm,
	note_txt,
	data_create_user_id,
	data_create_program,
	data_create_dt,
	last_data_updt_user_id,
	last_data_updt_program,
	last_data_updt_dt,
	updt_seg_typ,
	versionno
FROM
	dblink(
		'dbname=mkmst',
		'select
auth_id,
auth_nm,
note_txt,
data_create_user_id,
data_create_program,
data_create_dt,
last_data_updt_user_id,
last_data_updt_program,
last_data_updt_dt,
updt_seg_typ,
versionno
from mkmst.auth_mst '
	)AS t1(
		auth_id CHARACTER VARYING(10),
		auth_nm CHARACTER VARYING(40),
		note_txt CHARACTER VARYING(100),
		data_create_user_id CHARACTER VARYING(10),
		data_create_program CHARACTER VARYING(40),
		data_create_dt TIMESTAMP(0)WITHOUT TIME ZONE,
		last_data_updt_user_id CHARACTER VARYING(10),
		last_data_updt_program CHARACTER VARYING(40),
		last_data_updt_dt TIMESTAMP(0)WITHOUT TIME ZONE,
		updt_seg_typ CHARACTER VARYING(1),
		versionno INTEGER
	);




创建规则,用于View

CREATE or replace RULE notify_me AS ON insert TO auth_mst DO 
instead

SELECT dblink_exec('host=10.247.0.223 dbname=mkmst user=mkadmin password=mkadmin',  'insert into auth_mst(auth_id, auth_nm) VALUES(''' ||new.auth_id  ||''', ''' ||new.auth_nm|| ''');'  , true);
 

insert into auth_mst(  auth_id, auth_nm) VALUES ( 'lilao91', 'lilao19');




CREATE or replace RULE notify_me AS ON update TO auth_mst DO 
instead

SELECT dblink_exec('host=10.247.0.223 dbname=mkmst user=mkadmin password=mkadmin', ' update auth_mst set auth_nm=''' ||new.auth_nm  ||''' where auth_id=''' ||new.auth_id  ||'''; ' , true);
 


update  auth_mst set auth_nm='update_test' where auth_id='lilao91';
--update into auth_mst(  auth_id, auth_nm) VALUES ( 'lilao91', 'lilao19');

select * from auth_mst  where auth_id='lilao91';

分享到:
评论

相关推荐

    关于创建oracle dblink 过程的几点心得

    使用 DB Link 可以查询、删除和插入远程数据库中的数据,方法与操作本地数据库相同,只需要在表名后添加 @dblink 服务器。 DB Link 的优点 使用 DB Link 可以实现不同的数据库服务器之间的数据共享和交换,提高了...

    ORACLE使用培训

    - **数据插入**:`INSERT INTO connection_temp SELECT * FROM connection_view`将一个表的数据插入另一个表。 - **找出重复记录**:`SELECT * FROM duo WHERE`可以结合特定条件找出重复记录。 学习这些内容将使...

    oracle数据库基本操作

    - 插入数据到远程表: 也可以通过dblink向远程表插入数据。 **3. dblink删除:** ```sql DROP DATABASE LINK dblink_name; ``` #### 九、Sequences操作 **1. Sequences创建:** ```sql CREATE SEQUENCE seq_name...

    2010年oracle命令176页完整版型

    - **数据表空间:** ```sql CREATE TABLESPACE tablespace_name LOGGING DATAFILE '/XXX/xxx/datafile_name1.ora' SIZE 4095M; ``` - **临时表空间:** ```sql CREATE TEMPORARY TABLESPACE tmp_tablespace_...

    Oracle10g US7ASCII 编码中文无法导入sqlserver问题解决

    这种方法的核心在于利用 Oracle 的转换函数对数据进行格式转换,以及通过 DBLink 和 SQL Server 的链接服务器机制实现跨数据库查询。这不仅解决了当前的问题,也为未来类似的数据迁移场景提供了一种可行的解决方案。

    oracle使用 merge

    在Oracle数据库管理中,`MERGE`语句是一种强大的功能,它允许用户根据源表中的数据更新目标表,同时也可以向目标表中插入新的记录。这使得`MERGE`成为处理大量数据时的一个高效工具,特别是在需要同步两个数据集的...

    Oracle数据库实验操作

    - **实验19:** 使用SQL99语法进行更复杂的表连接操作。 ##### 子查询 - **实验20:** 子查询的基本使用,可以在`SELECT`, `WHERE`, `FROM`子句中嵌套子查询。 ##### DDL和DML语句 - **实验21:** 创建简单的表,...

    Oracle事例

    create public database link dblink1 connect to db1 identified by \"123*456\" using \'db11\' 20.oracle8中扩充了group by rollup和cube的操作。有时候省了你好多功夫的。 下面的语句可以进行总计 select ...

Global site tag (gtag.js) - Google Analytics