A continuación se ofrece un ejemplo:
if (userRequest == "D") try get myRecord forUpdate; onException myErrorHandler(12); // sale del programa end try delete myRecord; onException myErrorHandler(16); end end
El comportamiento de la sentencia delete depende del tipo de registro. Para obtener detalles acerca del proceso DL/I, consulte el tema Registro DLISegment. Para obtener detalles acerca del proceso SQL, consulte el tema Registro SQL.
La sentencia delete genera una sentencia DL/I DLET. En DL/I, debe obtener y retener un segmento antes de suprimirlo. Las palabras clave EGL get...forUpdate, get next...forUpdate y get next inParent...forUpdate retendrán todas ellas el segmento solicitado para la supresión.
//crear instancias de los registros myCustomer CustomerRecord; myLocation LocationRecord; myOrder OrderRecord; //crear un argumento de búsqueda de segmento myCustomer.customerNo = "005001"; myLocation.locationNo = "000022"; myOrder.orderDateNo = "20050730A003"; //retener el registro de pedido solicitado try get myOrder forUpdate; onException myErrorHandler(2); end //suprimir el pedido try delete myOrder; onException myErrorHandler(7); endLa sentencia get...forUpdate genera SSA calificados para cliente, ubicación y pedido:
GHU STSCCST (STQCCNO = :myCust.customerNo) STSCLOC (STQCLNO = :myLocation.locationNo) STPCORD (STQCODN = :myOrder.orderDateNo)A continuación, la sentencia delete genera simplemente lo siguiente:
DLET STPCORD
Encontrará los detalles sobre la opción forUpdate en get.
DELETE FROM nombreTabla
WHERE CURRENT OF cursor
Si desea escribir su propia sentencia SQL DELETE, utilice la sentencia EGL execute.
No puede utilizar una sola sentencia EGL delete para suprimir filas de varias tablas SQL.
Conceptos relacionados
Soporte de bases de datos DL/I
Tipos de registros y propiedades
resultSetID
Unidad de ejecución
Soporte de SQL
Tareas relacionadas
Diagrama de sintaxis para sentencias y mandatos EGL
Consulta relacionada
Directiva #dli
add
Consideraciones relacionadas con CICS
close
Sentencias EGL
Manejo de excepciones
execute
get
get next
get next inParent
get previous
Valores de error de E/S
prepare
open
replace
set
Propiedades de campo SQL
terminalID