create proc sp_clone (@tablename sysname ,@keyvalue int ) AS DECLARE @sql varchar(8000) SET @sql = 'SELECT * INTO #temp FROM '+@tablename+' WHERE iid = '+cast(@keyvalue AS varchar(100))+' ' + 'DECLARE @newid int ' + 'exec @newid = sp_getnewid('''+@tablename+''') ' + 'UPDATE #temp SET iid = @newid ' + 'INSERT INTO '+@tablename+' SELECT * FROM #temp' EXEC( @sql ) RETURNBOb