Power Builder - INSERT CON AUTOINCREMENT, devolver primary key

 
Vista:

INSERT CON AUTOINCREMENT, devolver primary key

Publicado por manu (27 intervenciones) el 21/05/2005 05:53:19
Hola, querria saber como puedo hacer un insert con un tipo de datos numerico con autoincrement y que me devuelva el valor de la primary key
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

RE:INSERT CON AUTOINCREMENT, devolver primary key

Publicado por Jancarlo (890 intervenciones) el 21/05/2005 16:19:19
Lo que podrias hacer es q antes de ejecutar el insert primero crees una sentencia q te devuelva mayor y a ese le sumas el valor q le pusiste para la autoincrementación q supongo debe ser 1. Entonces al ejecutar el insert este # que obtuviste luego de la suma será el q también se creará para el nuevo registro.

Espero te sirva......................Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INSERT CON AUTOINCREMENT, devolver primary key

Publicado por Asgard (1957 intervenciones) el 23/05/2005 15:23:18
Puedes configurar tu autoincrement directamente desde la tabla en el campo que lo necesites en la seccion default, ahi le indicas el autoincrement.
Por codigo tendrias por medio de un select obtener el valor maximo y sumarle uno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

OJO

Publicado por Victor //:-) (116 intervenciones) el 23/05/2005 20:46:49
AUTONUMERICO
-----------------------------------------------------------------------
//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)
//0 (Default) devuelve la ultima insercion SELECT MAX(IDENTCOL) FROM <table name> siempre que solo intervenga un usuario.
//1 Use the syntax SELECT @@identity. para 2 o mas usuarios

connect using sqlca;
-------------------------------------------------------------
//Al crea tu tabla define identity:
CREATE TABLE dbo.ca_calles (cve_calle_id int IDENTITY NOT NULL, nombre varchar(65) NULL, CONSTRAINT pk_cve_calle_id PRIMARY KEY NONCLUSTERED (cve_calle_id)) ;
---------------------------------------------------------------------------------
//pon esto en un boton
long ll_clave

INSERT INTO ca_calles (nombre ) VALUES ('avenida');
SELECT @@identity INTO :ll_clave FROM dummy;
mesagebox('ultima clave insertada',ll_clave)

INSERT INTO ca_calles (nombre ) VALUES ('callejon');
SELECT @@identity INTO :ll_clave FROM dummy;
mesagebox('ultima clave insertada',ll_clave)

INSERT INTO ca_calles (nombre ) VALUES ('calzada');
SELECT @@identity INTO :ll_clave FROM dummy;
mesagebox('ultima clave insertada',ll_clave)


espero te sirva
atte.
Victor //:-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OJO

Publicado por manu (27 intervenciones) el 24/05/2005 02:36:32
Muchas gracias a todos los que respondieron mirare la opcion que mejor se adapta a mi codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar