存储过程 错在哪?
USE [chaowind]
GO
/****** Object:  StoredProcedure [dbo].[addnew1]    Script Date: 12/05/2012 17:22:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[addnew1]  
@station varchar(5),  
@datetime varchar(16), 
@u1 varchar(10), 
@v1 varchar(10), 
@w1 varchar(10), 
@num int output
AS  
begin  
  declare @sql varchar(400)  
  declare @sql1 varchar(200)  
  declare @sql2 varchar(200)  
  If  exists(select 1 from [dbo].[wind] where [station] = @station and [datetime]=@datetime  )  
  return 1  
  set @sql = ' insert into [dbo].[wind] ([id],[station],[datetime]'  
  set @sql1 = ''  
  set @sql2 = ''  
  If not @u1   Is Null
  set @sql1 = @sql1 + ',[u1]' 
  set @sql2 = @sql2 + ',' + @u1
 
  If not @v1   Is Null
  set @sql1 = @sql1 + ',[v1]' 
  set @sql2 = @sql2 + ',' + @v1
 
  If not @w1   Is Null
  set @sql1 = @sql1 + ',[w1]' 
  set @sql2 = @sql2 + ',' + @w1
 
 if @sql1 =''
 return 2
 set @sql = @sql + @sql1 + ') values (' + @station +  @datetime + ',' + @station + ',' + @datetime + @sql1 + ')'
 
  EXEC (@sql)
  return 3  
end  
执行如下:
USE [chaowind]
declare @num int
exec [dbo].[addnew1] '51053','20101212121201','12','1',1,@num output
SELECT @num
错误:
消息 207,级别 16,状态 1,第 1 行
列名 'u1' 无效。
消息 207,级别 16,状态 1,第 1 行
列名 'v1' 无效。
消息 207,级别 16,状态 1,第 1 行
列名 'w1' 无效。
(1 行受影响)
------解决方案--------------------先不exec,先print出来看看是什么情况再调试,下班了,回去看