SQL EXECUTE se emplea en combinación con diferentes instrucciones SQL.
Aplicación
Condiciones
- Clave 555343
- Tabla disponible
- Nombres de tabla aptos
Los nombres de las tablas y las columnas de las tablas deben comenzar con una letra y no pueden contener símbolos matemáticos, por ejemplo: +. Debido a las órdenes SQL, estos símbolos pueden causar problemas al leer o seleccionar datos.
Descripción de la función

El control numérico ofrece las siguientes instrucciones SQL en el comando SQL EXECUTE:
Instrucciones | Función |
---|---|
SELECT | Seleccionar datos |
CREATE SYNONYM | Establecer un sinónimo (reemplazar una especificación de ruta larga por un nombre corto) |
DROP SYNONYM | Borrar sinónimo |
CREATE TABLE | Generar tabla |
COPY TABLE | Copiar tabla |
RENAME TABLE | Renombrar tabla |
DROP TABLE | Borrar tabla |
INSERT | Añadir filas de la tabla |
UPDATE | Actualizar filas de la tabla |
DELETE | Borrar fila de la tabla |
ALTER TABLE |
|
RENAME COLUMN | Renombrar columnas de la tabla |
SQL EXECUTE con la instrucción SQL SELECT
El servidor SQL almacena los datos fila por fila en Result-set (conjunto de resultados). Las líneas se numeran correlativamente, empezando por 0. Este número de fila (el INDEX) lo utilizan las órdenes SQL FETCH y UPDATE.
SQL EXECUTE en combinación con la instrucción SQL SELECT selecciona valores de la tabla, los transfiere al Result-set y, al hacerlo, abre siempre una transacción. Al contrario que la orden SQL SQL SELECT, la combinación de SQL EXECUTE y la instrucción SELECT posibilita una selección simultánea de varias columnas y filas.
En la función SQL... En la función "SELECT...WHERE..." puede indicar los criterios de búsqueda. Con ello delimitan, si es necesario, el número de líneas a transferir. Si no utiliza esta opción, se cargarán todas las filas de la tabla.
En la función SQL... Con "SELECT...ORDER BY..." indicará el criterio de clasificación. La indicación se compone de la denominación de la columna y del código para la clasificación ascendente ASC o descendiente DESC. Si no utiliza esta opción, las filas se guardarán en una secuencia aleatoria.
Con la función SQL... Con "SELECT...FOR UPDATE" puede bloquear las filas seleccionadas para otras aplicaciones. Estas líneas pueden leer otras aplicaciones, pero no las puede modificar. Si realiza modificaciones en las entradas de la tabla, necesitará esta opción obligatoriamente.
Result-set vacío: cuando ninguna fila corresponde al criterio de búsqueda, el servidor SQL devuelve una HANDLE válida sin entradas de la tabla.
Condición | Programación |
---|---|
igual | = == |
distinto | != <> |
menor | < |
menor o igual | <= |
mayor | > |
mayor o igual | >= |
vacio | IS NULL |
no vacío | IS NOT NULL |
Enlazar varias condiciones: | |
Y lógico | AND |
O lógico | OR |
Notas
- También se pueden definir sinónimos para tablas aún no creadas.
- La secuencia de las columnas en el fichero creado se corresponde con la secuencia dentro de la instrucción AS SELECT.
- Para las instrucciones dentro de la orden SQL se pueden emplear parámetros QS simples o compuestos.
- Si se comprueba el contenido de un parámetro QS en la indicación adicional del estado (pestaña QPARA), se ven exclusivamente los primeros 30 caracteres y, por consiguiente, no el contenido completo.
Encadenar valores alfanuméricos
Ejemplo
11 SQL BIND Q881 "Tab_Example.Position_Nr" | |
12 SQL BIND Q882 "Tab_Example.Measure_X" | |
13 SQL BIND Q883 "Tab_Example.Measure_Y" | |
14 SQL BIND Q884 "Tab_Example.Measure_Z" | |
. . . | |
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example" |
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr<20" |
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr==:’Q11’" |
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM ’V:\table\Tab_Example’ WHERE Position_Nr<20" |
0 BEGIN PGM SQL_CREATE_TAB MM | |
1 SQL Q10 "CREATE SYNONYM NEW FOR 'TNC:\table\NewTab.TAB'" | ; Crear un sinónimo |
2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'" | ; Crear tabla |
3 END PGM SQL_CREATE_TAB MM |
0 BEGIN PGM SQL_CREATE_TABLE_QS MM | |
1 DECLARE STRING QS1 = "CREATE TABLE " | |
2 DECLARE STRING QS2 = "'TNC:\nc_prog\demo\Doku\NewTab.t' " | |
3 DECLARE STRING QS3 = "AS SELECT " | |
4 DECLARE STRING QS4 = "DL,R,DR,L " | |
5 DECLARE STRING QS5 = "FROM " | |
6 DECLARE STRING QS6 = "'TNC:\table\tool.t'" | |
7 QS7 = QS1 || QS2 || QS3 || QS4 || QS5 || QS6 | |
8 SQL Q1800 QS7 | |
9 END PGM SQL_CREATE_TABLE_QS MM |