Insert en una Función

02/11/2004 - 00:38 por Ayuda para particionar una Tabla... | Informe spam
Un saludo a todos, tengo una función en donde inserto en una tabla y el
identificador se genera automaticamente, requiero regresar el numero que se
ingreso.
Pero me esta marcando un error Server: Msg 443, Level 16, State 2, Procedure
SIAC_FUN_INSERT_PERSONA, Line 65
Invalid use of 'INSERT' within a function.
Mi codigo es el siguiente CREATE FUNCTION SIAC_FUN_INSERT_PERSONA
(@par_tx_pseudocurp varchar(18),
@par_tx_nombre varchar(50),
@par_tx_apellido_p varchar(50),
@par_tx_apellido_m varchar(50),
@par_tx_apellido_casada varchar(50),
@par_tx_curp char(18),
@par_id_tez int,
@par_id_complexion smallint,
@par_nu_estatura numeric(3,2),
@par_nu_peso numeric(4,1),
@par_id_color_cabello smallint,
@par_id_color_ojos smallint,
@par_id_sexo char(1),
@par_id_estado_civil char(1),
@par_id_estudio smallint,
@par_id_ocupacion int,
@par_fh_nacimiento datetime,
@par_id_pais_nacimiento char(3),
@par_id_estado_nacimiento char(2),
@par_id_mun_county_nacimiento varchar(10),
@par_tx_poblacion_nacimiento varchar(100),
@par_nu_dom_actual int,
@par_tx_ubicacion_actual varchar(40),
@par_id_abrev1_actual char(4),
@par_tx_abrev1_dom_actual varchar(20),
@par_id_abrev2_actual char(4),
@par_tx_abrev2_dom_actual varchar(20),
@par_tx_telefono_persona varchar(15),
@par_nu_cp_persona numeric(5),
@par_tx_poblacion_actual varchar(100),
@par_id_mun_county_actual varchar(10),
@par_id_estado_actual char(2),
@par_id_pais_actual char(3),
@par_id_oficina smallint)
RETURNS NUMERIC(10)
AS
BEGIN
INSERT INTO SIAC_PERSONAS
(TX_PSEUDOCURP, TX_NOMBRE,APELLIDO_P,TX_APELLIDO_M,
TX_APELLIDO_CASADA,TX_CURP,ID_TEZ,
ID_COMPLEXION, NU_ESTATURA, NU_PESO,
ID_COLOR_CABELLO,ID_COLOR_OJOS,ID_SEXO,
ID_ESTADO_CIVIL,ID_ESTUDIO,ID_OCUPACION,
FH_NACIMIENTO,ID_PAIS_NACIMIENTO,
ID_ESTADO_NACIMIENTO,ID_MUN_COUNTY_NACIMIENTO,
TX_POBLACION_NACIMIENTO,NU_DOM_ACTUAL,
TX_UBICACION_ACTUAL, ID_ABREV1_ACTUAL,
TX_ABREV1_DOM_ACTUAL,ID_ABREV2_ACTUAL,
TX_ABREV2_DOM_ACTUAL,TX_TELEFONO,
NU_CP_ACTUAL, TX_POBLACION_ACTUAL,
ID_MUN_COUNTY_ACTUAL, ID_ESTADO_ACTUAL,
ID_PAIS_ACTUAL,ID_OFICINA,ID_STATUS_PERSONA)
VALUES
(@par_tx_pseudocurp, @par_tx_nombre,
@par_tx_apellido_p, @par_tx_apellido_m,
@par_tx_apellido_casada,@par_tx_curp,
@par_id_tez, @par_id_complexion,
@par_nu_estatura,@par_nu_peso,
@par_id_color_cabello, @par_id_color_ojos,
@par_id_sexo, @par_id_estado_civil, @par_id_estudio,
@par_id_ocupacion, @par_fh_nacimiento,
@par_id_pais_nacimiento, @par_id_estado_nacimiento,
@par_id_mun_county_nacimiento,
@par_tx_poblacion_nacimiento,
@par_nu_dom_actual,@par_tx_ubicacion_actual,
@par_id_abrev1_actual,@par_tx_abrev1_dom_actual,
@par_id_abrev2_actual,@par_tx_abrev2_dom_actual,
@par_tx_telefono_persona, @par_nu_cp_persona,
@par_tx_poblacion_actual,
@par_id_mun_county_actual, @par_id_estado_actual,
@par_id_pais_actual, @par_id_oficina, 1)
return @@IDENTITY
END
GO

Muchas gracias por su ayuda, que esten bien

Preguntas similare

Leer las respuestas

#1 Isaias
02/11/2004 - 02:16 | Informe spam
El cuerpo de una función de múltiples instrucciones permite las siguientes
instrucciones. Las instrucciones no incluidas en la lista no se permiten en
el cuerpo de una función:


Instrucciones INSERT, UPDATE y DELETE que modifican las variables table
locales para la función.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida