You could doCREATE PROCEDURE test_stringAS BEGIN CREATE TABLE #dump ( [name] NVARCHAR(128) , [id] INT , [xtype] CHAR(2) , [uid] SMALLINT , [info] SMALLINT , [status] INT , [base_schema_ver] INT , [replinfo] INT , [parent_obj] INT , [crdate] DATETIME , [ftcatid] SMALLINT , [schema_ver] INT , [stats_schema_ver] INT , [type] CHAR(2) , [userstat] SMALLINT , [sysstat] SMALLINT , [indexdel] SMALLINT , [refdate] DATETIME , [version] INT , [deltrig] INT , [instrig] INT , [updtrig] INT , [seltrig] INT , [category] INT , [cache] SMALLINT ) DECLARE @sql VARCHAR(2500) SET @sql = 'INSERT INTO #dump SELECT * FROM sysObjects' EXEC (@Sql) SELECT * FROM #dumpEND
instead and you wouldn't have to use a process key'd table or a global temp table. (wouldn't a global temp table be terminated (if nothing is referencing it) when the EXEC finished anyway)?-------------Charlie