sql-server-2005 - 如何以 SQL 2000 + SQL 2005 兼容的方式删除存储过程?

标签 sql-server-2005 stored-procedures sql-server-2000 compatibility sql-drop

我有一个项目要求我在 SQL Server 2005 中进行开发,但部署到 SQL Server 2000 机器上。

对于 99% 的 SQL 代码,我没有问题,一切似乎都是向后兼容的。

现在我正准备开始将所有存储过程 (SP) 添加到源代码管理中,我喜欢在每次执行查询时执行拖放操作的想法。 IE。如果 SP 已存在,请先删除它。然后创建/重新创建 SP。

如何以与 SQL 2000 和 SQL 2005 兼容的方式在单个脚本中执行此操作,以便我的脚本仅在开发 (2000) 和生产 (2005) 期间运行?我相信语法略有不同,SP 元数据存储在不同的系统表中。

请协助编写有效的 SQL 脚本。

最佳答案

这适用于 SQL 2000 和 SQL 2005。我现在已经对其进行了测试。

USE databasename
GO

IF object_id('schema.StoredProcedureName') IS NOT NULL
DROP PROCEDURE schema.StoredProcedureName
GO

CREATE PROCEDURE schema.StoredProcedureName
.. your code

关于sql-server-2005 - 如何以 SQL 2000 + SQL 2005 兼容的方式删除存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369639/

相关文章:

sql - 带有 IN 的多个表达式

mysql - 检查数据库中是否存在表 - 存储过程 - MySQL

sql-server - 选择跨列的前 n 个值并求平均值

sql - 如何在T-SQL中根据列的内容输出 bool 值?

sql - 在 SQL 2005 中使用一个命令将多行插入临时表

sql - 需要帮助找到正确的 T-SQL 查询

sql-server - 如何在 SQL Server 中将输出参数与其他列名称一起使用

java - 如何在SQL Server中获取存储过程sp_setapprole的OUTPUT参数

sql - 选择具有最高(相对)时间戳的所有行

sql-server-2005 - sql server 2005 32 位在 win 2003 64 位上仅使用 2 GB