insert a una tabla con serial
Publicado por Hector Gómez (1 intervención) el 02/03/2010 16:30:35
Duda:
La sintaxis del "insert" indica que se tienen que poner a cero las columnas de tipo de dato serial para obtener un consecutivo generado por el manejador de BD como resultado, pero no está documentado que pasa si el "insert" se hace de esta forma:
insert into tabla1(col_num) select num from tabla2;
donde tabla1 contiene una columna de tipo serial y una columna de tipo entero (col_num), mintras que el tipo de dato num de tabla2 es entero.
He hecho purebas en la versión 11.5 del IDS y el resultado es el mismo que especificando de manera explícita un cero para la columna de tipo serial; pero he encontrado que algunas aplicaciones que omiten el valor cero del serial producen resultados inesperados (de manera indeterminada dejan de cargar algunos registros). ¿Cuál es el resultado esperado al utilizar el insert de esta forma sobre columnas de tipo serial?
La sintaxis del "insert" indica que se tienen que poner a cero las columnas de tipo de dato serial para obtener un consecutivo generado por el manejador de BD como resultado, pero no está documentado que pasa si el "insert" se hace de esta forma:
insert into tabla1(col_num) select num from tabla2;
donde tabla1 contiene una columna de tipo serial y una columna de tipo entero (col_num), mintras que el tipo de dato num de tabla2 es entero.
He hecho purebas en la versión 11.5 del IDS y el resultado es el mismo que especificando de manera explícita un cero para la columna de tipo serial; pero he encontrado que algunas aplicaciones que omiten el valor cero del serial producen resultados inesperados (de manera indeterminada dejan de cargar algunos registros). ¿Cuál es el resultado esperado al utilizar el insert de esta forma sobre columnas de tipo serial?
Valora esta pregunta


0