You'll need this script and one other:
f_4P_columnType
-- =============================================
--
-- =============================================
-- 1/1/1900 created
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'sp_insert'
AND type = 'P')
DROP PROCEDURE sp_insert
GO
CREATE PROCEDURE sp_insert
-- sp_insert '_commissionsnew'
@vchrTableName varchar(50)
AS
declare @fieldName varchar(500)
declare @fieldType varchar(50)
declare @intTableNameLen int
declare @vchrProcName varchar(50)
declare @vchrAlias varchar(2)
declare @vchrFieldList as varchar(8000)
declare @vchrFieldList2 as varchar(8000)
Declare @vchrParamList as varchar(8000)
Declare @vchrIntoList as varchar(8000)
select
@vchrProcName = '_4P_' + @vchrTableName + '_INS',
@vchrAlias = case when left(@vchrTableName,1) = '_' then substring(@vchrTableName,2,1) else left(@vchrTableName,1) end + '.',
@intTableNameLen = len(@vchrTableName),
@vchrFieldList = '',
@vchrFieldList2 = '',
@vchrParamList = '',
@vchrIntoList = ''
select
@vchrProcName = replace(@vchrProcName,'__','_')
print '-- ============================================='
print '-- '
print '-- ============================================='
print '-- 1/1/1900 created'
print 'IF EXISTS (SELECT name'
print ' FROM sysobjects '
print ' WHERE name = N' + '''' + @vchrProcName + ''''
print ' AND type = ''P'') '
print ' DROP PROCEDURE ' + @vchrProcName
print 'GO'
print 'CREATE PROCEDURE ' + @vchrProcName
print ''
declare curFields CURSOR for
select syscolumns.name,
dbo.f_4P_columnType(xusertype,length,xprec,xscale) as fieldType
from sysobjects
left join syscolumns on syscolumns.id = sysobjects.id
where sysobjects.name = @vchrTableName
and colstat <> 1
OPEN curFields
FETCH NEXT FROM curFields INTO @fieldName, @fieldType
WHILE @@FETCH_STATUS = 0
BEGIN
if @fieldType <> 'text' begin
set @vchrFieldList = @vchrFieldList + @fieldName + ' ' + ', '
set @vchrFieldList2 = @vchrFieldList2 + @vchrAlias + @fieldName + ', '
set @vchrParamList = @vchrParamList + <a href="mailto:'@'">'@'</a> + @fieldName + ' ' + @fieldtype + ',' + char(13) + char(10)
set @vchrIntoList = @vchrIntoList <a href="mailto:+'@'">+'@'</a> + @fieldName + ' , '
end
FETCH NEXT FROM curFields INTO @fieldName, @fieldType
END
CLOSE curFields
DEALLOCATE curFields
set @vchrFieldList = left(@vchrFieldList, len(@vchrFieldList) - 1)
set @vchrFieldList2 = left(@vchrFieldList2, len(@vchrFieldList2) - 1)
set @vchrParamList = left (@vchrParamList,len(@vchrParamList)-3)
set @vchrIntoList = left (@vchrIntoList,len(@vchrIntoList)-1)
-- sp_insert 'XPOTrans_HIST'
print @vchrParamList
print ''
print 'AS'
PRINT ''
print 'INSERT INTO ' + @vchrTableName + ' (' + @vchrFieldList + ')'
print ' SELECT ' + space(@intTableNameLen) + @vchrFieldList2
print ' FROM '
PRINT ''
PRINT ''
print 'INSERT INTO ' + @vchrTableName + ' (' + @vchrFieldList + ')'
print space(len(@vchrProcName)) + 'values(' + @vchrIntoList + ')'
PRINT ''
PRINT 'GO'
print ''
print 'grant exec on ' + @vchrProcName + ' to public'
go
grant exec on sp_insert to public