Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2014, 09:11
DBA1994
 
Fecha de Ingreso: julio-2014
Mensajes: 3
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Inquietud Clave Primaria Autogenerada

Hola comunidad tengo la siguiente inquietud. Estoy aprendiendo SQL server 2012 y a la hora de crear una tabla utilizo el siguiente codigo

Código:
USE Prueba
GO
CREATE TABLE Libros(
          IDLibros smallint IDENTITY (1,1) PRIMARY KEY,
          Nombre varchar(50) NOT NULL,
          ISBN varchar(50) NOT NULL
)
Segun investigue la funcion IDENTITY empezaria con el id=1 y aumentaria en 1 por cada insercion. Mi duda es que esa id autogenerada no identifica de manera unica a cada tabla, por ejemplo si existieran dos libros

PROGRAMACION 1
PROGRAMACION 2

y los inserto

Código:
INSERT INTO Libros ('PROGRAMACION 1', '968-521-59X')
INSERT INTO Libros ('PROGRAMACION 2, '968-521-58D)
en la tabla quedarian los siguientes datos
ID NOMBRE ISBN
1- PROGRAMACION 1- 68-521-59X
2- PROGRAMACION 2- 8-521-58D

pero si vuelvo a realizar la insercion

INSERT INTO Libros ('PROGRAMACION 1', '968-521-59X')

quedaria un regstro

3- PROGRAMACION 1- 968-521-59X

que obviamente es una repeticion. se que lo mejor seria usar como PK el ISBN pero no lo hago para aprender a usar la funcion IDENTITY.

Pense en una solucion que seria crear un disarador que compruebe los datos de la fila a insertar con los datos de la tabla pero lo consideraria ineficiente.

Les agradezco de antemano su claboracion, Saludos