Hi allI am trying to create a reference table based upon the MAX(DATALENGTH) of the fields found within another table. (the table created will only be read by users - not written to or amended in any way).I am testing using the following:-IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'CreateTest_a')BEGIN DROP TABLE CreateTest_aEND--create the table to receive the dataCREATE TABLE [CreateTest_a] ( PDate VARCHAR(50), rrec VARCHAR(30), pfix VARCHAR(30), num VARCHAR(10) )INSERT CreateTest_aVALUES ('Test length of first field','length of field 2','length of next 1','last one')DECLARE @pd int, @rlr int, @pfx int, @nm int--check to see what the length of each field isSET @pd = (SELECT MAX(DATALENGTH([PDate])) FROM CreateTest_a)print @pdSET @rlr = (SELECT MAX(DATALENGTH([rrec]))FROM CreateTest_a)print @rlrSET @pfx = (SELECT MAX(DATALENGTH([pfix]))FROM CreateTest_a)print @pfxSET @nm = (SELECT MAX(DATALENGTH([num]))FROM CreateTest_a)print @nmIF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'CreateTest1')BEGIN DROP TABLE CreateTest1END--create the table to receive the dataCREATE TABLE dbo.[CreateTest1] ( PDate VARCHAR(@pd), rrec VARCHAR(@rlr), pfix VARCHAR(@pfx), num VARCHAR(@nm), )INSERT CreateTest1SELECT [PDate] ,[rrec] ,[pfix] ,[num] FROM CreateTest_aThe error I am getting is:-Msg 102, Level 15, State 1, Line 42Incorrect syntax near '@pd'.Any ideas of where I am going wrong?