Foros del Web » Programando para Internet » ASP Clásico »

realizar este INSERT

Estas en el tema de realizar este INSERT en el foro de ASP Clásico en Foros del Web. hola a to2, vereis no se si puedo realizar la siguiente accion de una sola vez. Hago un insert en una tabla de la siguiente ...
  #1 (permalink)  
Antiguo 06/07/2005, 10:34
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 8 meses
Puntos: 0
realizar este INSERT

hola a to2,
vereis no se si puedo realizar la siguiente accion de una sola vez.
Hago un insert en una tabla de la siguiente forma
insert into Tabla (nombre,login,password) values ('pepe','ELLOGIN', 'pasword' )

bueno mi problema es que el login se compone con el id autonumerico que se genera al insertar este registro.
es decir el login serán unas letras predeterminadas+idusuario : Ej ERD12

es posible realizar este insert de forma directa? o tengo primero que insertarlo , obtener el id y posteriormente modificar el login?¿?

gracias....
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #2 (permalink)  
Antiguo 06/07/2005, 10:35
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
como dijste al final es como yo c y conosco... no creo que se pueda hacer un insert y un update en el mismo query... pero como es SQL tan completo me imagino que si, pero no C...

alguien sabe?'
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 06/07/2005, 10:36
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Que base de datos estas ocupando?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 06/07/2005, 10:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 8 meses
Puntos: 0
estoy trabajando con bd SQL Server
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #5 (permalink)  
Antiguo 06/07/2005, 11:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
ok

'Inserta
strSQL = "insert into Tabla (nombre,login,password) values ('pepe','ELLOGIN', 'pasword' ); "
'Obtiene el id recien insertado, lo dejas dentro de SQL
strSQL = strSQL & "SELECT @@IDENTITY as ident; DECLARE @ident int; DECLARE ident_cursor CURSOR FOR SELECT @@IDENTITY; OPEN ident_cursor; FETCH NEXT FROM ident_cursor INTO @ident;"
'Actualiza
strSQL = strSQL & "UPDATE tabla SET login=login + @ident WHERE id=@ident"

No estoy muy seguro del update, pero bueno intenta asi a ver que tal, a lo mejor por ahi habria que hacer un cast...
Correlo primero en el Analyzer a ver si funciona.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 07/07/2005, 01:50
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 8 meses
Puntos: 0
hola u_goldman,
gracias por la respuesta.
lo he probado y me funciona correctamente...
pero tengo un pequeño problema en el update...
Verás el campo login se compone de unas letras que previamente conozco + id , Ej: (ECN0023)
para ello hago lo siguiente:

1. en el insert inserto las letras:
strSQL = "insert into Tabla (nombre,login,password) values ('pepe','PCN', 'pasword' ); "
seguidamente hago los pasos que me has indicado :
'Obtiene el id recien insertado, lo dejas dentro de SQL
strSQL = strSQL & "SELECT @@IDENTITY as ident; DECLARE @ident int; DECLARE ident_cursor CURSOR FOR SELECT @@IDENTITY; OPEN ident_cursor; FETCH NEXT FROM ident_cursor INTO @ident;"
'Actualiza
strSQL = strSQL & "UPDATE tabla SET login=login + @ident WHERE id=@ident"

en teoría debería concatenarme el contenido de ese campo con el id , pero no lo hace...

si en el insert no inserto nada en el campo login :
strSQL = "insert into Tabla (nombre,login,password) values ('pepe','', 'pasword' ); "
y luego realizo los pasos indicados me inserta el id pero no las letras....

como puedo resolverlo?¿
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:13.