读书人

这个存储过程有个有关问题,哪位高手能

发布时间: 2012-12-14 10:33:08 作者: rapoo

这个存储过程有个问题,谁能告诉我为什么
if exists(select * from sys.procedures where name='c')
drop proc c
go
create proc c
as
if db_id(N'a')is not null
drop database a
go
create database a
on
(name='a',
filename='d:\a.mdf',size=8,maxsize=9,filegrowth=5)
log on
(name='aa',
filename='d:\aa.ldf',size=7,maxsize=8,filegrowth=5)
go
use a
go
if exists(select * from sys.tables where name='w')
drop table w
go
select * into w from test.dbo.stu where 1=2 --test数据库里有表stu
go
insert into w(name,age,sex,address)
select name,age,sex,address from test.dbo.stu
except
select name,age,sex,address from w
go



这个存储过程有个问题,复制上粘贴可以执行成功
继而可以看到表w里的数据

但是调用存储过程显示成功,但是执行完都没有a这个数据库
这是为什么呢?
[最优解释]
在 过程、函数或触发器 中不允许使用 USE database 语句。

读书人网 >SQL Server

热点推荐