CREATE PROCEDURE [dbo].[VPRIMARYKEY]
@input_primarykey_name nvarchar(max),
@input_table_name nvarchar(max),
@input_field_name nvarchar(max),
@input_full_report float(53) = 0
AS
BEGIN
DECLARE
@primarykey_count float(53)
SELECT @primarykey_count = count(0) FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS pkdef
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS pkcol
ON pkdef.CONSTRAINT_TYPE = 'PRIMARY KEY' AND
pkdef.CONSTRAINT_NAME = pkcol.CONSTRAINT_NAME
WHERE
pkcol.table_name = @input_table_name AND
pkcol.column_name = @input_field_name AND
pkdef.CONSTRAINT_TYPE = 'PRIMARY KEY'
IF @primarykey_count = 1 AND @input_full_report = 1
PRINT 'Verify primary key ' + ISNULL(@input_primarykey_name, '') + ' on field ' + ISNULL(@input_table_name, '') + '.' + ISNULL(@input_field_name, '') + ' succeeded.'
IF @primarykey_count = 0
PRINT 'ERROR: Verify primary key '+ ISNULL(@input_primarykey_name, '') + ' on field ' + ISNULL(@input_table_name, '') + '.' + ISNULL(@input_field_name, '') + ' failed. Primary key not found.'
END
GO