2012-06-29 14 views
11

¿Qué es una buena opción en T-SQL? Quiero usarlo como un marcador de posición en fragmentos de código repetitivo. Por ejemplo, si estoy apagando una consulta/UDF y tener algo como esto:¿Qué puedo usar para una operación no operativa en T-SQL?

IF @parm = 1 
    BEGIN 
    END 
IF @parm = 2 
    BEGIN 
    END 

... voy a conseguir un mensaje de Incorrect sytntax near the word 'END'. ¿Qué podría lanzar entre allí que silenciaría el compilador (es decir, ser ejecutable)?

+1

CUANDO HAY UNA EXPOSICIÓN DE IMPRESIÓN imprimir @parm – HLGEM

+1

@Jon Egerton: De hecho, pero me alegro de haberlo echado de menos porque la sugerencia de @Ab's/@ HLGEM no se incluyó allí. (Supongo que alguien debería fusionar estas dos preguntas, pero no soy tan meta.) – kmote

Respuesta

7

Se podría lanzar una print allí:

IF @parm = 1 
    BEGIN 
    print 'need to implement 1' 
    END 
IF @parm = 2 
    BEGIN 
    print 'need to implement 2' 
    END 
20

Como se ha mencionado here se podría declarar una variable ficticia. No debe aparecer en cualquier lugar en todo (planes de ejecución, etc salida impresa):

IF @parm = 1 
    BEGIN 
     DECLARE @dummy1 bit 
    END 
IF @parm = 2 
    BEGIN 
     DECLARE @dummy2 bit 
    END 

Alternativamente, se puede utilizar una etiqueta demasiado:

IF @parm = 1 
    BEGIN 
     noop1: 
    END 
IF @parm = 2 
    BEGIN 
     noop2: 
    END 
+0

Declarar una etiqueta funcionó perfectamente para mí. – Contango

2

También puede probar ...

WAITFOR DELAY '0:0'; 
Cuestiones relacionadas