你可以先算出" 第四个字段"然后在插入呀.CREATE PROCEDURE IMS_SNMCWZK@File_Path  nvarchar(200) ASdeclare @sql varchar(1000) ,@ds varchar(1000)
set @ds = '同样的值'
--//可以处理得到@ds的值
--//
set @sql='  insert into 表1 select 资产总额,总收入,总负债,'+@ds+' as 第四个字段'
         +' FROM OpenDataSource( ''Microsoft.Jet.OLEDB.4.0'','
         +'''Data Source="'+@File_Path+'";User ID=Admin;Password=;Extended properties=Excel 5.0'')...[表1$]'
exec(@sql)GO

解决方案 »

  1.   

    或者为表1指定需要导入哪些列CREATE PROCEDURE IMS_SNMCWZK@File_Path  nvarchar(200) ASdeclare @sql varchar(1000)set @sql='  insert into 表1(资产总额,总收入,总负债) select 资产总额,总收入,总负债'
             +' FROM OpenDataSource( ''Microsoft.Jet.OLEDB.4.0'','
             +'''Data Source="'+@File_Path+'";User ID=Admin;Password=;Extended properties=Excel 5.0'')...[表1$]'
    exec(@sql)GO
      

  2.   

    CREATE PROCEDURE IMS_SNMCWZK@File_Path  nvarchar(200) ,
    @NO  intASdeclare @sql varchar(1000)declare @ds intset @ds = @NOset @sql='  insert into 上年末财务状况 select 年,资产总额,总收入,总负债, '+@ds+' as  基本信息编号‘
             +' FROM OpenDataSource( ''Microsoft.Jet.OLEDB.4.0'','
             +'''Data Source="'+@File_Path+'";User ID=Admin;Password=;Extended properties=Excel 5.0'')...[上年末财务状况$]'
    exec(@sql)
    GO
    这样写也不对啊
      

  3.   

    也就是说:我想在我导入N行数据的同时,将这N行的第四个字段都设置为同一个输入参数@NO  int的值
      

  4.   

    我的意思是你先算出"第四个字段"的值,
    然后在继续你的存储过程.CREATE PROCEDURE IMS_SNMCWZK@File_Path  nvarchar(200) ASdeclare @sql varchar(1000) ,@ds varchar(1000)
    set @ds = '同样的值'
    --//计算你第四个字段
    --//.
    --//.
    --//.
    --//.
    --//.
    --//然后在继续....
    set @sql='  insert into 表1 select 资产总额,总收入,总负债,'+@ds+' as 第四个字段'
             +' FROM OpenDataSource( ''Microsoft.Jet.OLEDB.4.0'','
             +'''Data Source="'+@File_Path+'";User ID=Admin;Password=;Extended properties=Excel 5.0'')...[表1$]'
    exec(@sql)GO