Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Campo Identity (variante)

Estas en el tema de Campo Identity (variante) en el foro de Oracle en Foros del Web. Saludos Cordiales, Necesito hacer algo como esto (pero que funcione) DECLARE @NRO INTEGER SET @NRO = 50 SELECT IDENTITY(int, @NRO, 1) AS Nro_Control FROM Tabla_Detalles1 ...
  #1 (permalink)  
Antiguo 06/10/2006, 08:24
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Campo Identity (variante)

Saludos Cordiales,

Necesito hacer algo como esto (pero que funcione)

DECLARE @NRO INTEGER
SET @NRO = 50

SELECT IDENTITY(int, @NRO, 1) AS Nro_Control
FROM Tabla_Detalles1

Este ejemplo solo es una idea de lo que quiero, la única manera de saber cuanto valdrá @NRO es buscando en una tabla que guarda su valor, por eso no puedo ponerlo de forma fija, haría una especie de MAX, pero colocar una variable en IDENTITY no resulta.

La opción más "rápida" es usar un CURSOR y me evito pensarla, pero consumo muchos recursos en el servidor.

¿Alguien tiene alguna idea?
  #2 (permalink)  
Antiguo 06/10/2006, 15:06
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Si lo que quieres es saber cual es el valor que le "tocaría" (ojo, que por temas de concurrencia podría no ser) prueba:

SELECT IDENT_CURRENT('Tabla_Detalles1')+1 AS Nro_Control
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 09/10/2006, 07:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias Mithrandir, era una opción que había analizado, pero para que esta funcione el campo dentro de la tabla debe ser IDENTITY.

El detalle es que esta tabla está dentro de Oracle y guarda los Próximos Números de cada módulo y de cada submodulo.

Por ejemplo:

MI_TABLA_DE_NUMEROS (TABLA)
Codigo_Modulo
ID SUBMODULO1
ID SUBMODULO2
ID SUBMODULO3

Algo así es el esquema, por lo cual debo de leer en esta tabla saber cual será el próximo, insertar y luego actualizarla.

¿Otra idea por allí?
  #4 (permalink)  
Antiguo 09/10/2006, 16:47
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
El foro de SQL Server no es el mejor lugar para preguntar sobre Oracle. ¡Movido para alla!
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 07:10.