网站建设资讯

NEWS

网站建设资讯

sqlserver表前缀,sql数据库后缀名是什么

sqlserver 如何去掉用户表名的前缀

-- 对于 SQL Server 2000,表所属的架构与所有者是一致的,更改表的所有者即可

成都创新互联专业为企业提供鸡泽网站建设、鸡泽做网站、鸡泽网站设计、鸡泽网站制作等企业网站建设、网页设计与制作、鸡泽企业网站模板建站服务,10余年鸡泽做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

exec sp_changeobjectowner 'Tianqi.[OrdersTable]', 'dbo'

-- 对于 SQL Server 2005,表所属的架构与所有者是分离的,需要将表移动到指定架构下

ALTER SCHEMA dbo TRANSFER [Tianqi].[OrdersTable];

-- 为了管理方便,修改表的所有者

ALTER AUTHORIZATION ON object::[Tianqi].[Tianqi].[OrdersTable] TO SCHEMA OWNER;

SQLserver AdventureWorks数据库中有些表中前面是dbo,有些表前面是Person等,请问这是什么意思,有什么用

dbo 和Person都是架构名,默认的架构都是以dbo 开头的 一般我们在调用数据库

数据库名.构架名.表名,这种方式在不同的数据库。

当在同一个数据库中时就可以省略数据库名,只需要构架名.表名,这是在表中只有相同的架构的情况下,只需要直接用表名就可以了select * from 表 ,如果存在架构有多种的话就需要在调用中用 构架名.表名 select * from 架构名.表。

他们起到识别功能,比方说表名相同都叫 a,但是一个是dbo 架构的,一个是 Person,在调用过程中是不一样的,select * from dbo.表

select * from person.表 不写架构名则默认为dbo。

写的好辛苦,不知道你懂了吗?

请问在SQLserver 中如何指定一个数据库类型的变量?就是说里面引用的表前的数据库前缀可以像变量一样改变

如果仅仅是 为了 指向一个 外部数据库, 使用 数据库 同义词, 来作这个事情就好了.

下面的例子,就是 Test2 数据库, 要访问 Test 数据库的一个表

默认的情况下,要 全名 Test.dbo.v_sale_report_sum

建立 同义词, 可以简化处理。

如果一定要按照楼主的那种处理方式, 那就只有用 动态SQL 来处理了。

1

2 USE [Test2]

3 GO

已将数据库上下文更改为 'Test2'。

1 SELECT * FROM Test.dbo.v_sale_report_sum;

2 go

sale_item sale_money

--------- ----------------------------------------

A 733285.00

C 5738.00

B 2382.00

(3 行受影响)

1 SELECT * FROM v_sale_report_sum;

2 go

消息 208,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行

对象名 'v_sale_report_sum' 无效。

1 CREATE SYNONYM v_sale_report_sum

2 FOR Test.dbo.v_sale_report_sum;

3 go

1 SELECT * FROM v_sale_report_sum;

2 go

sale_item sale_money

--------- ----------------------------------------

A 733285.00

C 5738.00

B 2382.00

(3 行受影响)

sqlserver提示超过最大前缀

[DATABASENAME].[SCHEMANAME].[表/过程/函数/视图...]

所以

select [DB1.new].dbo.getDeptNameByName('')

是正确的。

不跨DataBase就没必要加完整前缀,

直接select dbo.getDeptNameByName('')


网站标题:sqlserver表前缀,sql数据库后缀名是什么
网址分享:http://cdweb.net/article/dsedhpe.html