¿Qué significa "EXEC" en la base de datos? ¿Cómo se debe utilizar?
Hay dos formas de utilizar el comando \x0d\EXEC en sqlserver. Una es ejecutar un procedimiento almacenado y la otra es ejecutar un proceso por lotes dinámico\x0d\\x0d\1. procedimiento almacenado del sistema sp_executesql La sintaxis para ejecutar la cadena de comando Unicode \x0d\ es la siguiente: \x0d\sp_executesql [@stmt=] stmt\x0d\[\x0d\ {,[@params=] N'@parameter_name tipo_datos [, ...n]'}\ x0d\ {,[@param1=] 'value' [,...n]}\x0d\]\x0d\Explanación: Se deben agregar las cadenas Unicode que contienen las declaraciones de comando que se ejecutarán juntos primero y luego se cruzan Ejecute el procedimiento almacenado del sistema sp_executesql, pero no puede agregar cada cadena de comando en la instrucción sp_executesql. \x0d\Los ejemplos son los siguientes:\x0d\declare @DBName nvarchar(20),\x0d\ @Tbname nvarchar(20),\x0d\ @SQLString nvarchar(500)\x0d\set @DBName=N'Northwind'\ x0d\ set @Tbname=N'Clientes'\x0d\set @SQLString=N'USE '+@DBName+char(13) --char(13) nueva línea\x0d\SET @SQLString=@SQLString+N'select * from ' +@Tbname\x0d\--La cadena de comando debe combinarse primero y luego entregarse a sp_executesql para ejecutar \x0d\exec sp_executesql @SQLString\x0d\\x0d\2. Utilice el comando EXECUTE para ejecutar la cadena de comando\x0d. \ para usar La sintaxis del comando EXECUTE para ejecutar una cadena de comando es la siguiente:\x0d\EXEC[UTE] ({@string_variable|[N] 'stql_string'} [+...n])\x0d\From the sintaxis, primero puede asignar la cadena que contiene el comando que se ejecutará a una variable local @string_variable y luego usar el comando EXECUTE para ejecutarla, o usar directamente el comando EXECUTE para ejecutar una cadena que contenga la declaración del comando que se ejecutará. Además, también puede agregar varias cadenas que contengan las declaraciones de comando que se ejecutarán y luego pasarlas al comando EXECUTE para ejecutarlas todas a la vez. \x0d\\x0d\Ejemplo: \x0d\declare @sql nvarchar(4000) \x0d\ set @sql='select * from [tabla] donde email=''test@163.com''' \x0d\ exec ( @sql)