站内搜索
分类列表
本类阅读排行
本类推荐文章
- SQL Server数据库30步检查安全列表
- 还原默认SQL Server Management S...
- 带你轻松接触 SQL Server 服务管理...
- 数据库优化之SQL语句性能调整原则
- DB2数据库SQL编码优化基础
- 最耗资源的SQL 写程序时千万注意
- 如何简化SQL Server数据库的复制
- SQL Server 下使用数据库链接
- 解析SQL Server的数据类型 BLOB
- 升级到SQL Server 2005的常见问题...
- SQL Server 数据导入:行为规范
- 解析SQL Server identity列的操作...
- SQL Server数据库和XML标识语言的...
- 轻松掌握SQL Server数据同步技术
- MySQL数据库的漏洞相当于其它数据...
广告
存储过程中使用use database
作者: 来源: 点击: 日期:2007-7-17 2:28:22
It's well known.Microsoft SQL Server是不允许在存储过程或触发器中使用USE数据库语句来改变当前数据库的。
怎么办呢?当然可以直接用[databasename].[user].[tablename]这样来访问,但是某些语句必须在当前数据库下执行,比
如sp_adduser等。
这里提供一个解决方案:
使用Exec(ute)语句来改变当前数据库,不过要注意的是,数据库环境的更改只在Execute语句结束前有效,所以你必须把
后面的语句和Execute放到一起。Example:
create proc test
as
exec('use pubs') exec sp_adduser 'test'
go
--Written by 怡红公子@ChinaASP.com
--http://www.chinaasp.com
exec test
存储过程中使用use database 评论
