Power Builder - SCOPE_IDENTITY en configuracion

 
Vista:

SCOPE_IDENTITY en configuracion

Publicado por Victor //:-) (116 intervenciones) el 28/11/2005 18:46:00
Hola Listeros:
La siguiente pregunta es sobre la configuracion del PROFILE,

Por lo que yo entiendo para manejar correctamente campos
IDENTITY AUTONUMERICOs se configura asi:
-----------------------------------------------------------------------
//tu conexion de PB debe tener
// Profile para @@identity que te beneficia para las inserciones, tambien en DW's
SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "TuContenedor"
SQLCA.ServerName = "TuServidor"
SQLCA.LogId = "TuLogin"
SQLCA.Lock = "RC"
SQLCA.AutoCommit = True
SQLCA.DBParm = "AtAtIdentity=1" //<<<<<Esto indica que MS-SQL devuelve la ultima llave insertada con la variable @@identity del usuario actual(ignora otros usuarios) , y la DW la toma y la despliega en el campo Identity correspondiente de mi tabla CLIENTES (hasta aqui todo bien).

Pero luego creo una tabla llamada CLIENTES_AUDITORIA
(cve_auditoria_id identity(1,1) not null,
h_accion char(1),
h_fecha datetime,
cve_cliente_id integer,
cls_nombre varchar(50) )

y a mi tabla de CLIENTES le pongo un TRIGGER :

CREATE TRIGGER [TR_CLIENTES_insert_despues] ON dbo.CLIENTES
FOR INSERT
AS
SET NOCOUNT ON

---Se registra en auditoria
-----------------------------------------------------------------------------------

INSERT INTO CLIENTES_AUDITORIA
(h_accion
h_fecha,
cve_cliente_id,
cls_nombre)
SELECT 'A', ----Alta del Registro
GetDate(),
cve_clase_id,
cls_nombre
FROM Inserted

IF @@error != 0 or @@RowCount = 0
BEGIN
RaisERROR('No se guardo el registro historico correctamente.',16,1)
ROLLBACK TRANSACTION
Return
END
---------------------------------------------------------------------------------------------
---fin trigger

PROBLEMA: Si en la DW CLIENTES inserto el cliente cve_cliente_id=68, del campo cve_cliente_id me devuelve cve_cliente_id=1, que corresponde al cve_auditoria_id identity de AUDITORIA.

¿¿¿Alguen sabe como modificar la CONFIGURACION para que devuelva automaticamente a la DW el valor de SCOPE_IDENTITY( ) en vez de @@identity.?????

Gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder