我已经在我们的开发模式中创建了 SQL 存储过程并且它工作正常。现在我们的任务是将我们的开发代码转移到生产代码中。如何将这些存储过程从一个模式复制到另一个模式?我是否需要在目标模式上重新编译整个过程?或者有没有办法在目标模式上注册这些程序?有人可以建议我一种更好的方法来复制存储过程吗?
我已经通过 iSeries Navigator for Windows Version 5 Release 4 创建了过程。
提前致谢, 苏雷什
我已经在我们的开发模式中创建了 SQL 存储过程并且它工作正常。现在我们的任务是将我们的开发代码转移到生产代码中。如何将这些存储过程从一个模式复制到另一个模式?我是否需要在目标模式上重新编译整个过程?或者有没有办法在目标模式上注册这些程序?有人可以建议我一种更好的方法来复制存储过程吗?
我已经通过 iSeries Navigator for Windows Version 5 Release 4 创建了过程。
提前致谢, 苏雷什
创建存储过程的 SQL 应该在源文件中,作为某些源代码控制系统(CVS、SVN 等)中项目的一部分。
要将您的项目“部署”到新服务器(开发、QA 或生产),只需在新服务器/数据库上执行那些“源 SQL”文件即可。
实际上,对数据库的任何更改(更改表列、添加新表)都应该在源代码管理的 SQL 文件中,并以相同的方式应用。
虽然数据库开发工具并不总是让它看起来像 - SQL 也是源代码。:-)
一般来说,不需要原始来源。打开 iSeries Navigator 并通过 Databases 向下钻取到包含开发 SP 的模式。选择所有你想要的,右键单击并选择“生成 SQL”。选择在“RunSQL Scripts”中打开(并可选择包括 DROP 语句)。
这将在一个地方为您提供所有选定 SP 的脚本。这可以存储在您选择的任何地方。此外,如果需要在脚本中更改任何模式名称,您可以使用 Edit-> Replace。
然后您可以使用菜单选项 Connection-> Use Temporary JDBC Settings... 指向新模式。最后,单击工具栏上的 Run All 图标,将脚本中的 SP 生成到新模式中。
简而言之,在 iNav 'Run SQL Scripts' 中选择你想要的那些,指向新的模式并在基本上一个单一的操作中创建它们。
请阅读链接,这可能会有所帮助。 http://weblogs.asp.net/steveschofield/archive/2005/12/31/change-schema-name-on-tables-and-stored-procedures-in-sql-server-2005.aspx
我发现的(到目前为止)最好的方法是使用 SQL Management Studio,并使用 Script Procedure As ... 菜单选项。这将为您的存储过程生成 SQL 源代码(创建/更改取决于您使用的菜单选项)
如果您需要批量复制所有 sprocs/用户定义的函数,请使用 Tasks->Generate Scripts 菜单选项。在生成的一系列对话框中,您可以选择为其生成脚本的存储过程/函数,然后在您的新数据库上运行这些脚本。