加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql实现跨库访问的办法是什么

发布时间:2023-06-20 12:45:57 所属栏目:MsSql教程 来源:
导读: sql数据库怎样实现跨库访问?有些需求需要我们一个数据库访问另一个数据库,或者一台服务器访问另一台服务器的数据库,很多新手不了解要怎样做sql跨库访问,下面小编就给大家介绍一下实现方法。 同一台服务器

    sql数据库怎样实现跨库访问?有些需求需要我们一个数据库访问另一个数据库,或者一台服务器访问另一台服务器的数据库,很多新手不了解要怎样做sql跨库访问,下面小编就给大家介绍一下实现方法。

    同一台服务器跨库访问实现

    1. 首先创建两个数据库CrossLibraryTable1,CrossLibraryTable2

    --创建CrossLibraryTable1脚本:

use master --打开master数据库,一般的创建语句都在master中执行.

go

if exists (select * from sysdatabases where name='CrossLibraryTable1')

drop database CrossLibraryTable1 /*检查有没有这个数据库,如果有就删除它。*/

go

create database CrossLibraryTable1

on primary

(

name='CrossLibraryTable1_data', ------------ 养成好习惯,数据文件加_data

filename='F:\代码存放\数据库\CrossLibraryTable1_data.mdf', ------------ 一定要是.mdf的文件,代表主数据文件

size=5mb, --默认数据库大小

maxsize=100mb, --最大容量

filegrowth=1mb --增长量

)

log on

(

name='CrossLibraryTable1_log', ------------ 养成好习惯,日志文件加_log

filename='F:\代码存放\数据库\CrossLibraryTable1_log.ldf', ------------ 一定要是.ldf的文件,代表日志文件

size=1mb, --默认数据库大小

filegrowth=10% --增长量

)

    --创建CrossLibraryTable2脚本:

use master --打开master数据库,一般的创建语句都在master中执行.

go

if exists (select * from sysdatabases where name='CrossLibraryTable2')

drop database CrossLibraryTable2 /*检查有没有这个数据库,如果有就删除它。*/

go

create database CrossLibraryTable2

on primary

(

name='CrossLibraryTable2_data', ------------ 养成好习惯,数据文件加_data

filename='F:\代码存放\数据库\CrossLibraryTable2_data.mdf', ------------ 一定要是.mdf的文件,代表主数据文件

size=5mb, --默认数据库大小

maxsize=100mb, --最大容量

filegrowth=1mb --增长量

)

log on

(

name='CrossLibraryTable2_log', ------------ 养成好习惯,日志文件加_log

filename='F:\代码存放\数据库\CrossLibraryTable2_log.ldf', ------------ 一定要是.ldf的文件,代表日志文件

size=1mb, --默认数据库大小

filegrowth=10% --增长量

)

    2.接下来在两个数据库里面分别创建一个CrossTest1和一个CrossTest2表用于跨库查询

    --创建CrossTest1脚本:

use CrossLibraryTable1

create table CrossTest1(

Id int primary key identity,

Name nvarchar(20)

)

    --创建CrossTest2脚本:

use CrossLibraryTable2

create table CrossTest2(

Id int primary key identity,

Name nvarchar(20)

)

    表创建好后,我们再添加几条数据进去:

use CrossLibraryTable1

insert into CrossTest1 values('跨库1测试数据1')

insert into CrossTest1 values('跨库1测试数据2')

use CrossLibraryTable2

insert into CrossTest2 values('跨库2测试数据1')

insert into CrossTest2 values('跨库2测试数据2')

    PS:像上面那样是可以进行查询,然而在项目中使用上面的代码格式就会引发一些问题,那什么问题呢?比如另一个数据库的名称改变了,我们就需要把所有用到这个的地方都得改掉,这样就很麻烦,那么有什么解决方案么,使得改一处就好了?当然有,用数据库同义词就可以轻松搞定!

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章