I am creating a function to run on a table to return a recordset with Hashbyte coulmns. getting an error
the error is
Msg 102, Level 15, State 1, Procedure fn_AssignRowMD5SHA1, Line 35 [Batch Start Line 15]
Incorrect syntax near '@SQL'
CREATE FUNCTION fn_AssignRowMD5SHA1( -- Add the parameters for the function here @TableName sysname , @SchemaName sysname ,@PrimaryKeyName sysname ) RETURNS @query TABLE ( md5rowdata VARCHAR(max), sha1rowdata VARCHAR(max), ID bigint )ASBEGINDECLARE @datacolumns AS varchar(max)DECLARE @SQL AS varchar(max)SET @datacolumns = (SELECT Stuff( ( Select ', ' + C.COLUMN_NAME From INFORMATION_SCHEMA.COLUMNS As C Where C.TABLE_SCHEMA = T.TABLE_SCHEMA And C.TABLE_NAME = T.TABLE_NAME Order By C.ORDINAL_POSITION For Xml Path('') ), 1, 2, '') As ColumnsFrom INFORMATION_SCHEMA.TABLES As TWHERE T.TABLE_NAME=@TableName AND T.TABLE_SCHEMA=@SchemaName)@SQL = 'SELECT HASHBYTES(''MD5'',CONCAT(' + @datacolumns + ')) md5rowdata ,HASHBYTES(''SHA1'',CONCAT(' + @datacolumns + ')) sha1rowdata ,' + @PrimaryKeyName + ' FROM ' + @SchemaName + '.' + @TableName INSERT @queryEXEC @SQLRETURNENDGO