• I'm not sure how you can avoid creating a function/procedure or template.

    I suggest using INFORMATION_SCHEMA views to generate the dynamic SQL.

    Here's some sample SQL, but you'll probably need to CAST the "newid()" or a set of case statements to match your random value to match the appropriate datatype.

    SELECT

    schemaname = c.TABLE_SCHEMA

    ,tablename = c.TABLE_NAME

    ,columnname = c.COLUMN_NAME

    ,c.DATA_TYPE

    ,c.CHARACTER_MAXIMUM_LENGTH

    ,sqlquery = 'select [' + c.COLUMN_NAME + '] = newid() from [' + c.TABLE_SCHEMA + '].[' + c.TABLE_NAME + ']'

    FROM INFORMATION_SCHEMA.COLUMNS c

    --WHERE c.TABLE_SCHEMA = @schema

    --AND c.TABLE_NAME = @table