Compartir a través de


SQL dinámico para grupos de SQL dedicados en Azure Synapse Analytics

En este artículo se incluyen sugerencias para las soluciones de desarrollo que usan SQL dinámico en el grupo de SQL dedicado.

Ejemplo de SQL dinámico

Al desarrollar código de aplicación para los grupos de SQL dedicados, puede que necesite usar SQL dinámico con el fin de proporcionar soluciones flexibles, genéricas y modulares. En este momento, los grupos de SQL dedicados no admiten tipos de datos de blob.

El hecho de no admitir tipos de datos blob podría limitar el tamaño de las cadenas, ya que los tipos de datos blob incluyen los tipos varchar(max) y nvarchar(max).

Si ha usado estos tipos en el código de aplicación para crear cadenas grandes, es necesario dividir el código en fragmentos y usar en su lugar la instrucción EXEC.

Un ejemplo sencillo:

DECLARE @sql_fragment1 VARCHAR(8000)=' SELECT name '
,       @sql_fragment2 VARCHAR(8000)=' FROM sys.system_views '
,       @sql_fragment3 VARCHAR(8000)=' WHERE name like ''%table%''';

EXEC( @sql_fragment1 + @sql_fragment2 + @sql_fragment3);

Si la cadena es corta, puede usar sp_executesql como de costumbre.

Nota:

Las instrucciones ejecutadas como SQL dinámico seguirán sujetas a todas las reglas de validación de T-SQL.

Pasos siguientes

Para obtener más sugerencias sobre desarrollo, vea la información general sobre desarrollo.