English 中文(简体)
满足条件时储存的程序
原标题:Alter stored procedure if condition is met

如果存在某种条件,我会改变所储存的程序。 我想离开所储存的程序,就像没有满足这一条件一样,因此,退学实际上不是一个选择。

试图将ALTER PROC的内容放在红十字与红新月联会的一栏中,给我留下错误。 任何想法?

最佳回答
IF (condition)
  EXEC ( ALTER PROC ... )

ALTER/CREATE PROC必须首先在批量中,因此这是唯一的办法。 除非你这样做,

IF NOT (condition)
   RAISERROR( abort connection with high severity , 20, 1)
GO
ALTER PROC ...

GO
问题回答

你可以利用NOEXEC的设置来这样做,但应当谨慎。 您在发言结束时,必须回到法国统计局。

IF (CONDITION)
    SET NOEXEC OFF --Enables execution of code (Default)
ELSE 
    SET NOEXEC ON --Disables execution of code
GO
ALTER PROCEDURE MYPROC
AS
--STATEMENTS
GO --END OF ALTER BLOCK
SET NOEXEC OFF --RESTORES NOEXEC SETTING TO ITS DEFAULT




相关问题
How to write this T-SQL WHERE condition?

I ve got two tables: TableA Col1 Col2 TableB Col3 Col4 I want to join them together: SELECT * from TableA join TableB ON (...) Now, in place of ... I need to write an expression ...

Customer and Order Sql Statement

TSQL query to select all records from Customer that has an Order and also select all records from customer that does not have an Order. The table Customer contains a primary key of CustomerID. The ...

Recommended way of querying multiple Versioned tables

Have a win 2003 box with MSSQL 2005 running on it. There is a database which is populated every morning with new/modified SalesOrder made the previous day. The database has several tables: SalesOrder, ...

update duplicate record

I have a table with the following fields Id Name IsPublic i need to write a sql query that updates IsPublic to false where name has a duplicate. Only one of the duplicates should have IsPublic = ...

Define variable to use with IN operator (T-SQL)

I have a Transact-SQL query that uses the IN operator. Something like this: select * from myTable where myColumn in (1,2,3,4) Is there a way to define a variable to hold the entire list "(1,2,3,4)"? ...

Selecting records during recursive stored procedure

I ve got a content management system that contains a hierarchical structure of categories, with sub-categories subject to different ordering options at each level. Currently, that s retrieved by a (...

热门标签