Montando Instrucciones SQL
En esta página, proporcionamos una visión general sobre las instrucciones SQL utilizadas en la configuración de la mayoría de los conectores de bases de datos de Sensedia Integrations.
En esta sección, encontrará:
Visión general
Una instrucción SQL es un comando o consulta que permite interactuar con bases de datos relacionales en un flujo de integración.
Se utilizan para manipular datos, ya sea para consultar, insertar, actualizar o eliminar registros. De esta manera, las instrucciones son fundamentales para el intercambio y gestión de información entre sistemas integrados.
Para garantizar la correcta ejecución de estas operaciones, cada instrucción debe redactarse de acuerdo con la sintaxis nativa de SQL.
Puede utilizar las Properties, ubicadas en el lado izquierdo de la pantalla, para seleccionar variables de entorno y payloads de steps anteriores que desea incluir en la instrucción.
A continuación, vea el formulario de configuración para el conector de base de datos SQL Server 2022:

Operaciones
Las operaciones SQL son instrucciones que realizan acciones sobre los datos en una base de datos, siendo las más comunes SELECT, INSERT, UPDATE y DELETE.
-
SELECT: selecciona datos de una o más tablas.
SELECT first_name, last_name, email FROM employees WHERE department = 'Sales';La instrucción selecciona las columnas
first_name,last_nameyemailde la tablaemployeespara todos los empleados del departamento de ventas (Sales). -
INSERT: agrega nuevos registros a una tabla.
INSERT INTO employees (first_name, last_name, department, hire_date) VALUES ('John', 'Doe', 'Marketing', '2024-11-01');La instrucción inserta un nuevo registro en la tabla
employees, con los valores proporcionados para las columnasfirst_name,last_name,departmentyhire_date. -
UPDATE: modifica los datos existentes en una tabla.
UPDATE employees SET department = 'Marketing', hire_date = '2024-11-01' WHERE employee_id = 123;La instrucción actualiza la tabla
employeescon los datos del empleadoemployee_id = 123, modificando su departamento y fecha de contratación. -
DELETE: elimina registros de una tabla.
DELETE FROM employees WHERE employee_id = 123;La instrucción elimina el registro del empleado con
employee_id = 123de la tablaemployees. -
JOIN: combina registros de dos o más tablas, en base a una condición de relación entre ellas. Existen diferentes tipos de JOINs, como INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN.
SELECT employees.first_name, employees.last_name, departments.department_name FROM employees INNER JOIN departments ON employees.department_id = departments.department_id;La instrucción realiza una unión (utilizando INNER JOIN) entre las tablas
employeesydepartments. La unión ocurre cuando el valor de la columnadepartment_ides igual en las dos tablas. -
CREATE y ALTER: definen o modificam la estructura de la base de datos (creando nuevos objetos o alterando objetos existentes).
-
CREATE: crea una nueva tabla u otro objeto.
CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(100), last_name VARCHAR(100), department VARCHAR(50), hire_date DATE );La instrucción crea una tabla llamada
employees, donde:-
employee_idserá la columna primaria y contendrá solo números enteros (integer). -
Las columnas
first_nameylast_namedeben contener una cadena de hasta 100 caracteres. -
La columna
departmentdebe contener una cadena de hasta 50 caracteres. -
La columna
hire_datedebe contener una fecha.
-
-
ALTER: modifica la estructura de una tabla existente, como agregar o eliminar columnas.
ALTER TABLE employees ADD email VARCHAR(100);La instrucción modifica la tabla
employeesañadiendo la columnaemail, que debe contener una cadena de hasta 100 caracteres.
-
-
GROUP BY y HAVING: GROUP BY agrupa registros que tienen valores idénticos en columnas específicas, permitiendo que funciones agregadas (como COUNT, SUM, AVG) se utilicen para calcular resultados para cada grupo. HAVING se utiliza para filtrar los grupos después de aplicar el GROUP BY.
SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5;En la tabla
employees, la instrucción selecciona los departamentos y cuenta el número de empleados en cada uno. Luego, agrupa los datos por departamento y muestra solo aquellos departamentos que tienen más de 5 empleados.
Elementos de sintaxis
Aquí están algunas reglas básicas de sintaxis para construir una instrucción SQL:
-
Comillas simples (') para cadenas:
Cadenas se delimitan con comillas simples.
-
Ejemplo:
SELECT * FROM users WHERE name = 'João';La instrucción devuelve todas las columnas de los registros donde el valor de la columna
nameesJoão.
-
-
Comillas dobles (") para identificadores:
En algunas situaciones, se pueden usar comillas dobles para identificar columnas o tablas (como "id", "users"), pero esto no es obligatorio en todos los sistemas de bases de datos y puede variar.
-
Ejemplo:
SELECT "id" FROM "users";La instrucción selecciona solo la columna
idde la tablausers.
-
-
Coma (,):
La coma se usa para separar argumentos o elementos dentro de una función, lista de parámetros o concatenación de cadenas.
-
Ejemplo:
SELECT id, name FROM users WHERE age > 18;La instrucción filtra los usuarios de la tabla
userscon más de 18 años y muestra solo susidyname.
-
-
Punto y coma (;):
El punto y coma indica el final de un comando, lo que permite ejecutar múltiples instrucciones dentro de un mismo bloque.
-
Ejemplo:
SELECT * FROM users; UPDATE users SET age = 30 WHERE id = 1;La instrucción devuelve todas las columnas de la tabla
usersy actualiza el valor de la columnaagea30en el registro donde elides1.
-
-
Escapado de comillas internas:
Si necesita usar comillas simples dentro de una cadena que también está delimitada por comillas simples, debe escapar esas comillas internas usando otras comillas simples.
-
Ejemplo:
SELECT * FROM users WHERE name = 'O''Malley';La instrucción devuelve todas las columnas de los registros donde el valor de la columna
namees'O’Malley'.
-
-
Asterisco para seleccionar todas las columnas de un registro:
-
Ejemplo:
SELECT * FROM orders WHERE total_amount < 100;La instrucción devuelve todas las columnas de la tabla
ordersdonde el valor de la columnatotal_amountes menor a100.
-
-
WHEREpara filtrado:La cláusula
WHEREse coloca después de la declaraciónFROMpara definir las condiciones de filtrado.-
Ejemplo:
SELECT * FROM users WHERE id = 1;La instrucción devuelve todas las columnas de la tabla
usersdonde elides igual a1.
-
-
Operadores lógicos:
Los operadores lógicos AND, OR, NOT se utilizan para combinar condiciones dentro de la cláusula
WHERE.-
Ejemplo:
SELECT * FROM users WHERE age > 18 AND status = 'active';La instrucción devuelve todas las columnas de la tabla
usersdonde la edad es mayor a18años y el estado esactive.
-
-
Operadores relacionales:
Los operadores relacionales: =, !=, <, >, ⇐, >=, BETWEEN, LIKE, IN se utilizan para comparar valores en las condiciones.
-
Ejemplo:
SELECT * FROM products WHERE price BETWEEN 10 AND 100;La instrucción devuelve todas las columnas de la tabla
products, pero solo para los registros donde el valor de la columnapriceestá entre10y100.
-
Ejemplos
Ahora, exploremos algunos ejemplos de cómo aplicar instrucciones en diferentes contextos en Sensedia Integrations.
-
Ejemplo 1
concat("SELECT * FROM users WHERE id = ", $.For_Each.Input.Payload.id)-
La instrucción busca todos los datos de un usuario específico en una tabla, basándose en un valor de
id:-
concat: la función Concat se utiliza para unir (o concatenar) dos o más cadenas en solo una cadena. -
"SELECT * FROM users WHERE id = ": instruye a la base de datos a:-
Seleccionar (
SELECT) -
todas las columnas (
*) -
de (
FROM) -
la tabla
users -
y filtrar la búsqueda (
WHERE) -
para devolver solo las filas donde la columna
idcoincide con un valor específico que se indica después del signo igual (id =). -
$.For_Each.Input.Payload.id: valor que será filtrado por la instrucción, extraído del campoiden el payload de entrada del step For Each.
-
-
-
-
Ejemplo 2
concat( "INSERT INTO clients (id, name, last_name) VALUES (", $.For_Each.Input.Payload.id, ", '", $.For_Each.Input.Payload.first_name, "', '", $.For_Each.Input.Payload.last_name, "') ", "ON DUPLICATE KEY UPDATE name = VALUES(name), last_name = VALUES(last_name);" )-
La instrucción inserta un nuevo registro en la tabla
clientscon los valoresid,nameylast_name. -
Los valores específicos se extraen del payload de entrada del step For Each.
-
Si el
id(u otra clave primaria) ya existe en la tabla, la instrucción no inserta un nuevo registro, sino que actualiza los campos:-
name -
last_name
-
-
-
Ejemplo 3
CREATE TABLE IF NOT EXISTS clients ( id INT PRIMARY KEY, name VARCHAR(255), last_name VARCHAR(255) );-
La instrucción es un comando
CREATE TABLE, que crea una tabla en la base de datos. -
IF NOT EXISTS: esta cláusula garantiza que la tabla se cree solo si aún no existe. La tabla se llamaráclients, y se usará para almacenar información de clientes. -
A continuación, se definen las 3 columnas:
-
id INT PRIMARY KEY: el nombre de la columna seráidy el tipo de dato que se insertará en la columna será número entero (integer). Esta será la columna primaria, lo que significa que debe contener valores únicos y no nulos. -
name VARCHAR(255): el nombre de la columna seránamey el tipo de dato que se insertará en la columna es una cadena de hasta 255 caracteres. El tipo VARCHAR se usa para almacenar textos cortos. -
last_name VARCHAR(255)`: el nombre de la columna serálast_namey posee las mismas características que la segunda columna.
-
-
-
Ejemplo 4
concat( "DECLARE ", "v_json CLOB := '", $.CombinarDados.Response.Payload, "';", "BEGIN ", "INSERT_PROCEDURE_DATA(v_json);", "END;" )-
La instrucción comienza con la función
concat, que se usa para construir dinámicamente un comando PL/SQL (el lenguaje de programación de Oracle) que ejecuta las siguientes etapas:-
Declara (
declare) una variablev_jsondel tipoCLOB(Character Large Object). El tipo CLOB se usa para almacenar grandes volúmenes de texto, como documentos o payloads grandes. -
Asigna a la variable el valor extraído de un payload (
CombinarDados.Response.Payload). Se espera que el payload sea un gran bloque de texto o datos, por eso el valor se coloca entre comillas simples. -
Después de declarar la variable, el comando
BEGINinicia el bloque de ejecución de PL/SQL, donde ocurrirá la lógica de ejecución real. Dentro de este bloque, se llama al procedimientoINSERT_PROCEDURE_DATA, que recibe la variablev_jsoncomo argumento para procesar o insertar datos en la base de datos. El bloque finaliza con el comandoEND, cerrando la ejecución de la secuencia de instrucciones.Un procedimiento es un conjunto de instrucciones SQL que se almacenan en la base de datos y pueden ejecutarse repetidamente.
-
-
Share your suggestions with us!
Click here and then [+ Submit idea]