CREATE FUNCTION LOOKUP_SDL ( @COLUMN_NAME VARCHAR(500), @TABLE_NAME VARCHAR(500), @IND_NAME VARCHAR(500), @IND_VALUE VARCHAR(500) ) RETURNS TABLE AS RETURN ( DECLARE @Stmt VARCHAR(500); SET @Stmt = ('SELECT '+@COLUMN_NAME+' FROM '+@TABLE_NAME+' WHERE '+@IND_NAME+' = '''+@IND_VALUE+'''') BEGIN TRY EXECUTE (@Stmt); END TRY BEGIN CATCH SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_MESSAGE() AS ErrorMessge; END CATCH ); GOThe DECLARE statement seems to be the beginning of the problem, but Im not sure how else to write it. ... All help is appreciated.