28/04/2011, 09:22
|
| | Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 11 meses Puntos: 2 | |
Como obtener el ID pk de una tabla dada Hola quiero crear un procedimiento almacenado donde le pase como parametro el nombre de la tabla y me devuelva el actual ID + 1 ... mi problema es q en el @tabla de la ultima linea aparece como no declarado pero si lo esta ... =S ... que esta mal ¿?
....procedure myID ... @tabla as varchar(100) ...
DECLARE @PrimaryKeyName AS VARCHAR(100)
--Obtengo el nombre del primary key de la tabla
SET @PrimaryKeyName =
(
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE a
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS b
ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME
WHERE a.table_name = @Tabla and constraint_type = 'Primary key'
)
--Obtengo el ID actual de la tabla
DECLARE @ID AS INT
SELECT @ID = MAX(@PrimaryKeyName) FROM @Tabla |