En PL/SQL puede hacer referencia al tipo de una columna de tabla para variables y argumentos de procedimiento utilizando la sintaxis TABLE.COLUMN_NAME% type. Esto hace que el mantenimiento del código sea mucho más fácil. ¿Hay un equivalente de esto en el lenguaje de procedimientos almacenados de mysql?Mysql Stored Procedures Referencia de tipo de columna
¿Dónde podría uno necesitar esto? Considere la instrucción de inserción:
INSERT INTO NL_LIST (NAME, EMAIL)
SELECT
NAME,
normalizeEmail(EMAIL)
FROM
RAW_NL_LIST;
Por esto me gustaría ser capaz de definir normalizeEmail en (más o menos) de la siguiente manera:
CREATE FUNCTION normalizeEmail(email RAW_NL_LIST.EMAIL%type)
RETURNS NL_LIST.EMAIL%type
BEGIN
... implementation here
END;
¿En qué contexto se le referenciando columnas en las tablas? ¿Puedes dar un ejemplo de una consulta en la que harías esto? – TehShrike
Consulte http://www.dba-oracle.com/plsql/t_plsql_var_const.htm para obtener una explicación del concepto. –
Si escribe un procedimiento, es probable que necesite declarar algunas variables. Estos, a su vez, principalmente toman entrada de las columnas de la tabla. Para asegurarse de que el tipo de su variable sea compatible con el valor de la columna suministrada, puede usar la sintaxis antes mencionada para declarar las variables en base al tipo de la columna de la tabla. Esto se considera la mejor práctica al programar PL/SQL. Mi pregunta era si el mismo tipo de cosas es posible en mysql. –