Acerca de la copia de procedimientos almacenados de SQL - Teradata Data Mover

Teradata® Data Mover Guía del usuario

Product
Teradata Data Mover
Release Number
17.05
Published
Octubre de 2020
Language
Español
Last Update
2020-12-18
dita:mapPath
es-ES/xxl1591023586203.ditamap
dita:ditavalPath
es-ES/xxl1591023586203.ditaval
dita:id
B035-4101
Product Category
Analytical Ecosystem
Un procedimiento almacenado de SQL es un conjunto de sentencias SQL con un nombre asignado, el cual está almacenado en la base de datos de forma compilada para que varios programas puedan utilizarlo. Puede crear un ejemplo de procedimiento almacenado de SQL mediante las siguientes sentencias SQL:
CREATE PROCEDURE SP_deleteTestTable ()
BEGIN 
DELETE FROM test;
END;
Tras crear el procedimiento almacenado, se puede recuperar la definición mediante la ejecución de una consulta show procedure:
SHOW PROCEDURE SP_deleteTestTable;

Copiar procedimientos almacenados de SQL mediante Data Mover

Data Mover copia los procedimientos almacenados de SQL de la siguiente manera:
  • Data Mover recupera el DDL de creación del procedimiento almacenado de SQL mediante la ejecución de la sentencia SQL show procedure dbname.spname.
  • Data Mover no analiza un procedimiento DDL de creación, sino que ejecuta el mismo DDL en el sistema destino. Data Mover no cambia el nombre o la ubicación de los objetos del procedimiento almacenado.
  • Si el nombre del procedimiento en la definición del procedimiento no está completo, el procedimiento se creará en la base de datos que tiene el mismo nombre que la base de datos del procedimiento de origen.
  • Para evitar errores, si los nombres de las tablas en la definición del procedimiento no están completos, esas tablas deben existir en la base de datos que tiene el mismo nombre que la base de datos del procedimiento de origen.
  • Si el objeto que se está copiando no existe en la base de datos de destino, se crea. Si el objeto existe en la base de datos de destino, se sobrescribe, a menos que la propiedad overwrite_existing_objects se establezca como false. En ese caso, se producirá un error en el momento de la creación.
  • Si un procedimiento forma parte de la copia de una base de datos completa, el procedimiento se copia junto con la base de datos mediante DSA. No se copia por separado.
Al copiar un procedimiento almacenado de SQL, la tabla subyacente del procedimiento ya debe existir en el sistema de destino, o bien se debe copiar con el trabajo. Según el SQL de creación del procedimiento almacenado, es posible que se produzca un error de JDBC si se crea un procedimiento almacenado sin la tabla subyacente.