如何使用SQL存储过程创建数据库?为什么我不能将数据库作为变量发送?
从外部发送数据库名称是否有限制?如果有这样的限制,我怎么做?
create proc AddDatabase
@Name varchar(100),
@FileName varchar(Max),
@Size int,
@Maxsize int,
@FileGrowth int,
@logName varchar(100),
@LogFileName varchar(Max),
@LogSize int,
@LogMaxsize int,
@LogFileGrowth int)
as
begin
Create database @Name
On Primary
(NAME=@Name
FileName=@FileName,
Size=@size
MaxSize=@Maxsize,
FileGrowth=@FileGrowth
)
log on
(NAME=@logName,
FILENAME=@LogFileName,
SIZE=@LogSize,
MAXSIZE=@LogMaxsize,
FILEGROWTH=@LogFileGrowth
)
end
2条答案
按热度按时间9udxz4iz1#
其他人是对的,你需要使用动态SQL。这应该能让你得到你想要的东西,但是请注意,我还没有测试过。
wn9m85ua2#
在MySQL 8.0.31中