Una de bases de datos

27/08/2004 - 11:19 por Diego F. | Informe spam
Hola, tengo este pequeño dilema.

Tengo una tabla SQL en la que quiero que la clave primaria se autoincremente
automáticamente, con lo que cuando por programa añado filas a esa tabla, no
me preocupo de dar valor a esa clave.

El problema viene porque en una segunda tabla, esa clave es una clave
externa, por lo que para añadir las filas a esa tabla, necesito conocer ese
valor.

Sólo se me ocurre que tendría que hacer una consulta a la primera tabla para
conocer el valor, pero ya que es precisamente la clave, el resto de valores
pueden no ser únicos.

¿Cómo se resuelve ésto?

Saludos,

Diego F.
 

Leer las respuestas

#1 Diego F.
27/08/2004 - 11:52 | Informe spam
Me respondo en parte a mi mismo. He encontrado que en Sql Server 2000 hay un
método: scope_identity() que me devuleve el valor de la última identidad que
se ha creado en mi sesión.

Mi pregunta es: ¿cómo recupero ese valor en una aplicación c#?

Veo que la gente hace: "select @valor = scope_identity", pero no se
recuperar ese @valor.

Saludos,

Diego F.
"Diego F." escribió en el mensaje
news:
Hola, tengo este pequeño dilema.

Tengo una tabla SQL en la que quiero que la clave primaria se


autoincremente
automáticamente, con lo que cuando por programa añado filas a esa tabla,


no
me preocupo de dar valor a esa clave.

El problema viene porque en una segunda tabla, esa clave es una clave
externa, por lo que para añadir las filas a esa tabla, necesito conocer


ese
valor.

Sólo se me ocurre que tendría que hacer una consulta a la primera tabla


para
conocer el valor, pero ya que es precisamente la clave, el resto de


valores
pueden no ser únicos.

¿Cómo se resuelve ésto?

Saludos,

Diego F.



Preguntas similares