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

Insert para DB

Estas en el tema de Insert para DB en el foro de ASP Clásico en Foros del Web. Mi problema es el siguiente: Tengo una base de datos con una tabla cuya clave principal no puede ser auto numérica, si embargo los registros ...
  #1 (permalink)  
Antiguo 05/08/2003, 14:15
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 23 años, 3 meses
Puntos: 4
Insert para DB

Mi problema es el siguiente:

Tengo una base de datos con una tabla cuya clave principal no puede ser auto numérica, si embargo los registros estan en el formato reg1, reg2, reg3, etc. Ahora, que lo que necesito es hacer un INSERT pero Cómo hago para que al insertar la clave principal del nuevo registro se el máximo registro + 1,
osea reg50 + 1.

Se que se puede hacer esto: "SELECT MAX(clave) FROM mitabla", perp como lo hago para in INSERT?


Gracias por su ayuda.
  #2 (permalink)  
Antiguo 05/08/2003, 14:23
Avatar de Don Graff  
Fecha de Ingreso: noviembre-2002
Ubicación: San Bernardo - Chile
Mensajes: 410
Antigüedad: 22 años, 5 meses
Puntos: 0
SQL="SELECT MAX(clave)as maximo FROM mitabla"
.........ejecutas el sql
maximo=maximo+1


y para el INSERT ocupas maximo


SQL="INSERT INTO tutabla (indece, otrocampo, yotromas) VALUES (" & maximo & ", otrovalor, yotromas)"

__________________
:cool: Visita Zona Powers :cool:
  #3 (permalink)  
Antiguo 05/08/2003, 16:31
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años, 10 meses
Puntos: 1
SQL="SELECT MAX(ID) as maximo FROM TABLA"
ejecutas el sql y guardas el valor:

maximo = rs.fields("maximo")

tomas el valor numérico del id y le sumas uno

valormaximo = int(mid(maximo, 4, len(maximo) -3))
valorsiguiente = valormaximo + 1

le vuelves a poner el "reg" delante
idsiguiente = 'reg' & str(valorsiguiente)

y lo insertas
"INSERT INTO TABLA(ID) VALUES ('" & idsiguiente & "')"
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 04:16.