You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在T-SQL中省略my_schema前缀直接调用存储过程和函数?

省略Schema前缀直接调用存储过程/函数的实现方法

可以通过设置用户默认Schema或者临时切换会话Schema的方式,实现无需前缀直接调用my_schema下的存储过程和函数,具体操作如下:

一、设置用户默认Schema(永久生效)

执行以下T-SQL语句,将当前登录用户的默认Schema修改为my_schema:

ALTER USER [你的用户名] WITH DEFAULT_SCHEMA = my_schema;

注意:执行该操作需要拥有ALTER USER权限,设置完成后,后续该用户的所有会话中,直接使用exec stored_proc就会自动匹配my_schema.stored_proc,和你省略表前缀的逻辑完全一致。

二、临时切换会话Schema(仅当前会话生效)

如果不需要永久修改用户默认Schema,可在当前会话中临时切换默认Schema:

SET SCHEMA my_schema;
exec stored_proc; -- 此时调用的是my_schema下的存储过程

会话结束后,默认Schema会自动恢复为原设置。

额外说明

  • 若数据库中存在同名对象(如dbo.stored_proc和my_schema.stored_proc),无前缀调用会优先匹配当前默认Schema下的对象。
  • 标量函数和表值函数也适用此逻辑,设置默认Schema后,可直接用SELECT my_func()调用my_schema.my_func,无需添加前缀。

内容的提问来源于stack exchange,提问作者Andrey K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:11:37