oracledblink远程建表查询

前言

分享一些基于oracle工作上的一些小技巧

场景展示一

一般公司开发中,有测试服务器和正式环境的服务器
功能测试完成需要发布上线时,需要将测试服务器上的表弄一份到正式服 2个又是不同地址的库 总不能是手动进行创建吧 耗时耗力还容易出错

解决方法及思路一

首先我们是在测试服建表的 如果在同一个库中我们是可以通过ddl语句 查询并建表

create table GTMC_BL2_GD_ZCCJ_LINE_TYPE_LS as (
       select * from GTMC_BL2_GD_ZCCJ_LINE_TYPE_DEP where 1=2
)

这里简单举个栗子
这样我们就可以查询某个表并创建一张表 如果要把数据也copy进来的话 可以把where 1=2 去掉

现在我们遇见第二个难题了
不同地址的数据库如何处理呢

oracle是有进行远程连接的dblink

create database  link 链接名称 connect to 账号 identified by 密码
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 端口)))(CONNECT_DATA =(SERVICE_NAME = 服务名)))';

HOST : 表示远程数据库IP
PORT : 表示远程数据库端口
SERVICE_NAME : 远程数据库的实例名
在这里插入图片描述
创建好DBlink后 我们就可以通过远程链接 进行查询并创建表
举个栗子:
我的DBlink名称是GDZC_TEST
首先我先通过DBlink 查询远程链接数据库中的表

SELECT * FROM SYS_ZRFS@GDZC_TEST

@后面是你的DBling 名称
在这里插入图片描述
创建一张临时表试试效果

CREATE TABLE SYS_ZRFS_LS AS
SELECT * FROM SYS_ZRFS@GDZC_TEST

在这里插入图片描述

场景展示二

当我们使用insert 语句时 有时候要把各种复杂的条件查询的结果插入到表中

解决方法及思路二

秉着如何简单方便如何来的原则
在insert语句中加入子查询
举个栗子

INSERT INTO SYS_ZRFS_LS SELECT '3' AS CODE_VALUE,'见面交易' AS CODE_VALUE_NAME FROM dual

在这里插入图片描述

后序

以后会陆陆续续记录更多场景,欢迎提供场景思路 谢谢

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄木辛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值