求教 存储过程调用数据库生成脚本如何实现?

SimonYeung 2014-01-28 10:13:08
需求:将一个标准的数据库结构生成脚本后(包含表结构和存储过程),如何把该脚本封装到一个存储过程里面,然后程序指定数据库名字,来生成不同名字的标准数据库?

当前问题:现在右键将数据库生成脚本后,把该脚本放到一个存储过程中会因为各种错误而无法建立该存储过程


CREATE PROCEDURE [dbo].[SP_CREATE_DATABASE](@databaseName Nvarchar(250))
AS

生成数据库的脚本语句(使用@databaseName替换掉数据库名字及路径中的数据库文件名字)



求大大帮忙指点,感谢!~
...全文
250 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
引用 9 楼 SimonYeung 的回复:
[quote=引用 8 楼 yupeigu 的回复:] [quote=引用 7 楼 SimonYeung 的回复:] [quote=引用 6 楼 yupeigu 的回复:] 之前也有人提出类似的问题,是动态的数据库名称,在不同的数据库中创建存储过程,这个最后是通过powershell脚本来实现,或者通过c#来实现。
这样啊 我这边用的Java 小当家能给个传送门或者参考什么的么?代表黑暗料理界 谢谢你[/quote] 哈哈,看来你也看过中华小当家呀 建议这样,通过拼接字符串,一步一步来,比如: 1、创建数据库,比如: create database xx 2、切换到xx数据库 3、执行你的创表语句、存储过程语句 然后循环到第一步,就是下一个数据库名称,比如:yy,继续运行。 [/quote] 感谢~! 哈 动画版全部看完 漫画版的没看过[/quote] 我也是看的动画版,漫画的看过一点,不过没看完,后面出来慈禧太后了
回复
SimonYeung 2014-01-28
引用 8 楼 yupeigu 的回复:
[quote=引用 7 楼 SimonYeung 的回复:] [quote=引用 6 楼 yupeigu 的回复:] 之前也有人提出类似的问题,是动态的数据库名称,在不同的数据库中创建存储过程,这个最后是通过powershell脚本来实现,或者通过c#来实现。
这样啊 我这边用的Java 小当家能给个传送门或者参考什么的么?代表黑暗料理界 谢谢你[/quote] 哈哈,看来你也看过中华小当家呀 建议这样,通过拼接字符串,一步一步来,比如: 1、创建数据库,比如: create database xx 2、切换到xx数据库 3、执行你的创表语句、存储过程语句 然后循环到第一步,就是下一个数据库名称,比如:yy,继续运行。 [/quote] 感谢~! 哈 动画版全部看完 漫画版的没看过
回复
引用 7 楼 SimonYeung 的回复:
[quote=引用 6 楼 yupeigu 的回复:] 之前也有人提出类似的问题,是动态的数据库名称,在不同的数据库中创建存储过程,这个最后是通过powershell脚本来实现,或者通过c#来实现。
这样啊 我这边用的Java 小当家能给个传送门或者参考什么的么?代表黑暗料理界 谢谢你[/quote] 哈哈,看来你也看过中华小当家呀 建议这样,通过拼接字符串,一步一步来,比如: 1、创建数据库,比如: create database xx 2、切换到xx数据库 3、执行你的创表语句、存储过程语句 然后循环到第一步,就是下一个数据库名称,比如:yy,继续运行。
回复
SimonYeung 2014-01-28
引用 6 楼 yupeigu 的回复:
之前也有人提出类似的问题,是动态的数据库名称,在不同的数据库中创建存储过程,这个最后是通过powershell脚本来实现,或者通过c#来实现。
这样啊 我这边用的Java 小当家能给个传送门或者参考什么的么?代表黑暗料理界 谢谢你
回复
之前也有人提出类似的问题,是动态的数据库名称,在不同的数据库中创建存储过程,这个最后是通过powershell脚本来实现,或者通过c#来实现。
回复
貌似这个用存储过程是实现不了的。
回复
SimonYeung 2014-01-28
引用 3 楼 wufeng4552 的回复:
[quote=引用 2 楼 SimonYeung 的回复:] [quote=引用 1 楼 wufeng4552 的回复:] 把脚本以文件的方式存放到一个目录下 CREATE_DATEA.SQL 用osql工具去执行这个脚本
我需要在程序里面调用存储过程来实现 [/quote] 这个不大可能 比如create proc ....按照语法要求必须是批的第一个语句 所以必须加go 还有一些set设置同样是 除非你都拼成动态的(比较麻烦) [/quote] 好的 感谢!~ 我也是觉得不太好实现
回复
水族杰纶 2014-01-28
引用 2 楼 SimonYeung 的回复:
[quote=引用 1 楼 wufeng4552 的回复:] 把脚本以文件的方式存放到一个目录下 CREATE_DATEA.SQL 用osql工具去执行这个脚本
我需要在程序里面调用存储过程来实现 [/quote] 这个不大可能 比如create proc ....按照语法要求必须是批的第一个语句 所以必须加go 还有一些set设置同样是 除非你都拼成动态的(比较麻烦)
回复
SimonYeung 2014-01-28
引用 1 楼 wufeng4552 的回复:
把脚本以文件的方式存放到一个目录下 CREATE_DATEA.SQL 用osql工具去执行这个脚本
我需要在程序里面调用存储过程来实现
回复
水族杰纶 2014-01-28
把脚本以文件的方式存放到一个目录下 CREATE_DATEA.SQL 用osql工具去执行这个脚本
回复
发动态
发帖子
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
社区公告
暂无公告