0
这是正在工作的查询;SQL无效列名称错误
@tc varchar(11),
@urun nvarchar(50),
@islem nvarchar(20),
@ilk_agirlik nvarchar(4),
@son_Agirlik nvarchar(4)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @tabloadi NVARCHAR(15)
declare @sutunadi1 nvarchar(max)
set @sutunadi1 = @urun+N'_'[email protected]+N'_ilk'
declare @sutunadi2 nvarchar(max)
set @sutunadi2 = @urun+N'_'[email protected]+N'_son'
SET @[email protected]
IF EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE [email protected]
AND [email protected])
BEGIN
declare @sql nvarchar(max)
SET @Sql = N'insert into dbo.' + QUOTENAME(@Tc)
+ N'(' + QUOTENAME(@sutunadi1)+ N',' + QUOTENAME(@sutunadi2) + N', gun, ay, yil, saat, dakika) '
+ N'VALUES (' + @ilk_agirlik+ N',' + @son_agirlik + N',' + convert(varchar(2),day(GETDATE())) + N',' + convert(varchar(2),month(GETDATE())) + N',' + convert(varchar(4),year(GETDATE())) + N',' + convert(varchar(2),datepart(hh,GETDATE())) + N',' + convert(varchar(2),datepart(mi,GETDATE())) + N')'
EXECUTE sp_executesql @Sql
END
当我加2列,其名称urun和islem到我刚刚改变了这种代码表 ;
SET @Sql = N'insert into dbo.' + QUOTENAME(@Tc)
+ N'(' + QUOTENAME(@sutunadi1)+ N',' + QUOTENAME(@sutunadi2) + N', gun, ay, yil, saat, dakika, urun, islem) '
+ N'VALUES (' + @ilk_agirlik+ N',' + @son_agirlik + N',' + convert(varchar(2),day(GETDATE())) + N',' + convert(varchar(2),month(GETDATE())) + N',' + convert(varchar(4),year(GETDATE())) + N',' + convert(varchar(2),datepart(hh,GETDATE())) + N',' + convert(varchar(2),datepart(mi,GETDATE())) + N',' + @urun + N',' + @islem + N')'
它产生一个错误,“无效列名” 什么是错,我只是添加了两列工作查询????
VARCHAR的日期必须有引号 –
使用CHAR(39)选择并执行它,看看是否有什么错误的语句之前使用CONCAT()代替+ –
打印@SQL。 –