una transact stuff sintaxis parte left extraer espacios encontrar cadena blanco sql-server tsql

sql server - transact - Declaración vacía en T-SQL



sql transact stuff (4)

No. No hay un equivalente de "No operación".

  • Para un proceso almacenado, tendría al menos SET NOCOUNT ON .
  • Para un IF/ELSE , si una condición está vacía, omítala

De lo contrario, ¿por qué preguntas por favor? Para ser precisos, ¿cuál es el punto?

¿Hay una palabra clave de declaración vacía en T-SQL en Sql Server 2005 o más reciente? Algo como una declaración NULL en PL / SQL.


Puedes declarar una etiqueta para no hacer nada.

DECLARE @value INT IF @value IS NULL BEGIN no_op1: END


Sucede lo feo a veces. Creo que su es un uso válido. En una estructura de bifurcación de decisiones larga / complicada con varias declaraciones en caso contrario, algunas de esas declaraciones pueden contener condiciones en las que específicamente no desea ninguna acción. Tampoco desea que esas condiciones se caigan a través de la configuración predeterminada, donde se realiza cierto trabajo. En ese caso, es un uso válido.

Aquí hay dos maneras de hacer esto - ver B y C

Declare @status as char(1) set @status = ''D'' If (@status = ''A'') select ''Great!'' Else if (@status = ''B'') begin if null=null select null -- predicate never resolves true end Else if (@status = ''C'') set @status = @status -- set a variable to itself Else select ''Needs work!''

Tenga en cuenta, este es un ejemplo muy simplificado. Se utiliza mejor para facilitar la lectura cuando las condiciones son complejas.


También creo que a veces hay usos legítimos para un script de nada (scripts generados automáticamente, por ejemplo).

Aunque es un hilo viejo, lo pondré en mis dos centavos. Creo que declarar una variable es una de las afirmaciones más benignas que puedes usar. La declaración ni siquiera aparece en los planes de ejecución:

IF (@variable = 0) BEGIN DECLARE @placeHolder BIT; END