sql中的函数怎么换用户名

php_wsd 2010-08-04 04:57:34
select id,title,dbo.fun(content) from news
这句是正确的,但我现在想将dbo换成数据库中的另一个用户user1的需要设置哪些地方?
select id,title,user1.fun(content) from news
这样就错了。
...全文
66 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
php_wsd 2010-08-04
  • 打赏
  • 举报
回复
谢谢,可以运行了
php_wsd 2010-08-04
  • 打赏
  • 举报
回复
消息 156,级别 15,状态 1,第 4 行
关键字 'ALTER' 附近有语法错误。
我在数据库中运行,提示这个
情殇无限 2010-08-04
  • 打赏
  • 举报
回复

--创建构架
create schema user1 authorization user1
--更改对像的构架
ALTER SCHEMA user1 TRANSFER dbo.fun
select id,title,user1.fun(content) from news
永生天地 2010-08-04
  • 打赏
  • 举报
回复
对象可见性和限定规则
当创建对象时,Microsoft® SQL Server™ 2000 对未指定的名称部分使用下列默认值:

Server 默认为本地服务器。


Database 默认为当前数据库。


Owner_name 默认为与当前连接的登录 ID 相关联的指定数据库中的用户名称。
例如,如果用户作为数据库所有者 (dbo) 用户登录到 Northwind,则下面两个语句的任何一个都将创建一个名为 Northwind.dbo.TableX 的表:

CREATE TABLE TableX (cola INT PRIMARY KEY, colb NCHAR(3))

-或-

CREATE TABLE Northwind.dbo.TableX
(cola INT PRIMARY KEY, colb NCHAR(3))



说明 建议指定完整的表名或视图名,以避免产生与提及对象有关的混淆。


同样,当引用对象时,Microsoft® SQL Server™ 对未指定的名称部分使用下列默认值:

Server 默认为本地服务器。


Database 默认为当前数据库。


owner_name 默认为与当前连接的登录 ID 相关联的指定数据库中的用户名称。如果该用户不拥有具有指定名称的对象,SQL Server 将查找一个具有指定名称的对象,该对象为数据库所有者 (dbo) 用户所拥有。
例如,假定 LoginX 所连接的服务器上有两个数据库:DBY 和 DBZ。LoginX 与数据库 DBY 中的 UserA 以及数据库 DBZ 中的 UserB 相关联。

LoginX 在当前数据库中执行一个 SELECT 语句:

USE DBY
SELECT * FROM DBY..TableX

由于 LoginX 与 DBY 中的 UserA 相关联,SQL Server 首先查找 DBY.UserA.TableX。如果没有具有这个名称的表,SQL Server 将查找表 DBY.dbo.TableX。

在下一个例子中,LoginX 在当前数据库中没有的表上执行 SELECT 语句:

USE DBY
SELECT * FROM DBZ..TableY

由于 LoginX 与 DBZ 中的 UserB 相关联,SQL Server 首先查找 DBZ.UserB.TableY。如果没有具有这个名称的表,SQL Server 将查找表 DBZ.dbo.TableY。



说明 SQL Server不会尝试根据当前的登录来推断远程表的所有者。为确保分布式查询能够正确执行,请使用完全合法的名称。


以 sp_ 开始的存储过程的可见性与标准存储过程的可见性不同。有关更多信息,请参见 CREATE PROCEDURE。

永生天地 2010-08-04
  • 打赏
  • 举报
回复
还是得用
dbo.fun(content)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧