declare @test varchar(20);
set @test = 'test'
exec('use '+@test+'')
go我这样写完后执行,使用的数据库还是master,为什么都告诉我命令成功完成,却没有改变正在使用的数据库 呢
set @test = 'test'
exec('use '+@test+'')
go我这样写完后执行,使用的数据库还是master,为什么都告诉我命令成功完成,却没有改变正在使用的数据库 呢
解决方案 »
- 一条查询语句 求助
- 我装了VS2010,然后附带的SQL也安装了一些组件,请问我只需要再安装SQL MANAGEMENT STUDIO就可以了么?
- 帮我看下下面的SQL
- 帮忙看一下,这样的查询语句(SQL)怎么写?
- 恢复数据库时不小心把另一个数据库覆盖了,晕菜啦!有没有办法恢复阿!!!
- SQLSERVER按日期查询问题,很奇怪,不知道原因
- 令人疑惑的问题,
- VFP6+Win98SE中编译运行都正常的程序,VFP6+SP5+Win2000却经常出现“异常错误”C0000005,如何解决呢?
- SQL Server+Internet?
- 关于SQL server的数据类型隐式转换
- 两个表组合查询,每个表都有单独的数据,也都需要。内有表结构
- 数组拆分,条件成立就修改数据,条件不成立就添加数据。(想了一天,只好又发贴了,在线等)
set @test = 'test'
exec('use '+@test+'')
go 我这样写完后执行,使用的数据库还是master,为什么都告诉我命令成功完成,却没有改变正在使用的数据库 呢你所执行的 exec('use '+@test+'') 中的语句里面的数据库已经更改使用的数据库 但是EXEC 外面和里面不是一样的! 就像全局变量和局部变量一样! 好比你调用一个函数一样 函数里面的变量 在函数外面就不起作用一样的道理
然后又返回你现有的了