Instrucción vacía en T-SQL
¿Hay una palabra clave de sentencia vacía en T-SQL en Sql Server 2005 o posterior? Algo así como una sentencia NULL en PL / SQL.
4 answers
No. No hay un equivalente de "No operación".
- Para un proc almacenado, tendrías al menos
SET NOCOUNT ON
. - un
IF/ELSE
, si una condición está vacía omite
De lo contrario, ¿por qué preguntas por favor? Para ser precisos, ¿cuál es el punto?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-13 20:24:53
Puedes declarar una etiqueta para no hacer nada.
DECLARE @value INT
IF @value IS NULL
BEGIN
no_op1:
END
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-13 13:41:34
Lo feo sucede a veces. Creo que es un uso válido. En una estructura de ramificación de decisión larga / complicada con varias declaraciones if else, algunas de esas declaraciones pueden contener condiciones en las que específicamente no desea ninguna acción. Tampoco desea que esas condiciones caigan a través de hacer el defecto de lo contrario, 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 que este es un ejemplo demasiado simplificado. Es mejor utilizado para la legibilidad cuando las condiciones son complejas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-04-20 21:52:51
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, pondré mis dos centavos. Creo que declarar una variable es una de las declaraciones 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-08 20:21:11