SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Name1
-- Create date: 
-- Description:
-- =============================================
CREATE PROCEDURE ProcedureName1 
-- Add the parameters for the stored procedure here
@p1 int = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;    -- Insert statements for procedure here
INSERT dbo.tabTimeData( 区站号, 入库时间, 通信方式, 日期时间, 电源状态, 瞬时风速, 瞬时风向, 二分风速, 二分风向, 十分风速, 十分风向, 极大风速, 极大风向, 极大风速对应时间, 最大风速, 最大风向, 最大风速对应时间, 分钟雨量, 一小时雨量, 十分钟最大雨强, 最大雨强出现时间, 空气温度, 最高气温, 最高气温出现时间, 最低气温, 最低气温出现时间, 相对湿度, 最小湿度, 最小湿度出现时间, 本站气压, 最高气压, 最高气压出现时间, 最低气压, 最低气压出现时间) 
                   select 
                          cast(区站号  as char(8)), 
                          cast(插入时间 as datetime), 
                              'G', 
                          cast(观测时间 as datetime), 
                          cast(电池电压 as char(8)), 
                          cast(瞬时风速 as int), 
                          cast(瞬时风向 as int), 
                          cast(二分钟平均风速 as int), 
                          cast(二分钟平均风向 as int), 
                          cast(十分钟平均风速 as int), 
                          cast(十分钟平均风向 as int), 
                          cast(极大风速 as int), 
                          cast(极大风速的风向 as int), 
                          cast(极大风速出现时间 as char(10)), 
                          cast(最大风速 as int), 
                          cast(最大风速的风向 as int), 
                          cast(最大风速出现时间 as char(10)), 
                          cast(小时每分钟雨量 as char(120)), 
                          cast(小时雨量 as int), 
                          NULL, 
                          NULL, 
                          cast(气温 as int), 
                          cast(最高气温 as int), 
                          cast(最高气温出现时间 as char(10)), 
                          cast(最低气温 as int), 
                          cast(最低气温出现时间 as char(10)), 
                          cast(相对湿度 as int), 
                          cast(最小相对湿度 as int), 
                          cast(最小相对湿度出现时间 as char(10)), 
                          cast(本站气压 as int), 
                          cast(最高本站气压 as int), 
                          cast(最高本站气压出现时间 as char(10)), 
                          cast(最低本站气压 as int), 
                          cast(最低本站气压出现时间 as char(10))
                    from openrowset('SQLOLEDB','FXQXJ';'sa';'sa',Meso_2008.dbo.JLHour_2008) 
          where datediff(hh , dt , getdate()) = 0 order by dt desc
END
GO
------------------------
消息 102,级别 15,状态 1,过程 ProcedureName1,第 53 行
' ' 附近有语法错误。

解决方案 »

  1.   

    CREATE PROCEDURE ProcedureName1 
    -- Add the parameters for the stored procedure here 
    @p1 int = 0 
    AS 
    BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON;     -- Insert statements for procedure here 
    INSERT dbo.tabTimeData( 区站号, 入库时间, 通信方式, 日期时间, 电源状态, 瞬时风速, 瞬时风向, 二分风速, 二分风向, 十分风速, 十分风向, 极大风速, 极大风向, 极大风速对应时间, 最大风速, 最大风向, 最大风速对应时间, 分钟雨量, 一小时雨量, 十分钟最大雨强, 最大雨强出现时间, 空气温度, 最高气温, 最高气温出现时间, 最低气温, 最低气温出现时间, 相对湿度, 最小湿度, 最小湿度出现时间, 本站气压, 最高气压, 最高气压出现时间, 最低气压, 最低气压出现时间) 
                      select 
                              cast(区站号  as char(8)), 
                              cast(插入时间 as datetime), 
                                  'G', 
                              cast(观测时间 as datetime), 
                              cast(电池电压 as char(8)), 
                              cast(瞬时风速 as int), 
                              cast(瞬时风向 as int), 
                              cast(二分钟平均风速 as int), 
                              cast(二分钟平均风向 as int), 
                              cast(十分钟平均风速 as int), 
                              cast(十分钟平均风向 as int), 
                              cast(极大风速 as int), 
                              cast(极大风速的风向 as int), 
                              cast(极大风速出现时间 as char(10)), 
                              cast(最大风速 as int), 
                              cast(最大风速的风向 as int), 
                              cast(最大风速出现时间 as char(10)), 
                              cast(小时每分钟雨量 as char(120)), 
                              cast(小时雨量 as int), 
                              NULL, 
                              NULL, 
                              cast(气温 as int), 
                              cast(最高气温 as int), 
                              cast(最高气温出现时间 as char(10)), 
                              cast(最低气温 as int), 
                              cast(最低气温出现时间 as char(10)), 
                              cast(相对湿度 as int), 
                              cast(最小相对湿度 as int), 
                              cast(最小相对湿度出现时间 as char(10)), 
                              cast(本站气压 as int), 
                              cast(最高本站气压 as int), 
                              cast(最高本站气压出现时间 as char(10)), 
                              cast(最低本站气压 as int), 
                              cast(最低本站气压出现时间 as char(10)) 
                        from openrowset('SQLOLEDB','FXQXJ';'sa';'sa',Meso_2008.dbo.JLHour_2008) where datediff(hh , dt , getdate()) = 0 order by dt desc 
    END 
    GO 
      

  2.   

    楼主把你代码中所有的tab改为''
      

  3.   

    CREATE PROCEDURE ProcedureName1 
    -- Add the parameters for the stored procedure here 
    @p1 int = 0 
    AS 
    BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON;  -- Insert statements for procedure here 
    INSERT dbo.tabTimeData( 区站号, 入库时间, 通信方式, 日期时间, 电源状态, 瞬时风速, 瞬时风向, 二分风速, 二分风向, 十分风速, 十分风向, 极大风速, 极大风向, 极大风速对应时间, 最大风速, 最大风向, 最大风速对应时间, 分钟雨量, 一小时雨量, 十分钟最大雨强, 最大雨强出现时间, 空气温度, 最高气温, 最高气温出现时间, 最低气温, 最低气温出现时间, 相对湿度, 最小湿度, 最小湿度出现时间, 本站气压, 最高气压, 最高气压出现时间, 最低气压, 最低气压出现时间) 
     select 
     cast(区站号 as char(8)), 
     cast(插入时间 as datetime), 
     'G', 
     cast(观测时间 as datetime), 
     cast(电池电压 as char(8)), 
     cast(瞬时风速 as int), 
     cast(瞬时风向 as int), 
     cast(二分钟平均风速 as int), 
     cast(二分钟平均风向 as int), 
     cast(十分钟平均风速 as int), 
     cast(十分钟平均风向 as int), 
     cast(极大风速 as int), 
     cast(极大风速的风向 as int), 
     cast(极大风速出现时间 as char(10)), 
     cast(最大风速 as int), 
     cast(最大风速的风向 as int), 
     cast(最大风速出现时间 as char(10)), 
     cast(小时每分钟雨量 as char(120)), 
     cast(小时雨量 as int), 
     NULL, 
     NULL, 
     cast(气温 as int), 
     cast(最高气温 as int), 
     cast(最高气温出现时间 as char(10)), 
     cast(最低气温 as int), 
     cast(最低气温出现时间 as char(10)), 
     cast(相对湿度 as int), 
     cast(最小相对湿度 as int), 
     cast(最小相对湿度出现时间 as char(10)), 
     cast(本站气压 as int), 
     cast(最高本站气压 as int), 
     cast(最高本站气压出现时间 as char(10)), 
     cast(最低本站气压 as int), 
     cast(最低本站气压出现时间 as char(10)) 
     from openrowset('SQLOLEDB','FXQXJ';'sa';'sa',Meso_2008.dbo.JLHour_2008) 
     where datediff(hh , dt , getdate()) = 0 order by dt desc 
    END 
    GO