将数据插入SQL Server的语法不正确

时间:2013-09-03 21:08:01

标签: sql sql-server database tsql

我正在尝试在SQL Sever Management Studio 2012中使用以下插入命令:

INSERT INTO 'F' ('date', 'open', 'high', 'low', 'close', 'volume', 'amount_change','percent_change')  
VALUES ('2012-12-19', 11.79, 11.85, 11.62, 11.73, 54884700, -0.06, -0.508906)

当我尝试这个时,我得到的错误是

  

为对象F提供的参数不是函数

我可以确认有一张表F。我使用dbo.f"F"'F'[dbo].[F]尝试了各种语法,但都无济于事。

3 个答案:

答案 0 :(得分:2)

您需要从表名和列名中删除单引号。如果你想让他们逃脱使用括号[]。

INSERT INTO [F] ([date], [open], [high], [low], [close], [volume], 
[amount_change], [percent_change])  
VALUES ('2012-12-19', 11.79, 11.85, 11.62, 11.73, 54884700, -0.06, -0.508906)

答案 1 :(得分:1)

您的信息只是一个小问题,会话设置允许表和列名称使用双引号(ISO规则)。

-- Set option on
SET QUOTED_IDENTIFIER ON 
GO

-- Insert data
INSERT INTO "F" ("date", "open", "high", "low", "close", "volume", "amount_change","percent_change")  
VALUES ('2012-12-19', 11.79, 11.85, 11.62, 11.73, 54884700, -0.06, -0.508906)

查看此technet文章了解更多详情。

http://technet.microsoft.com/en-us/library/ms174393.aspx

TSQL是一个很有特色的大产品。

此致

约翰

www.craftydba.com

答案 2 :(得分:-1)

您可以对表使用[F]并确保您位于同一个数据库中。我测试它似乎工作正常。

INSERT INTO [F] ('date', 'open', 'high', 'low', 'close', 'volume', 'amount_change','percent_change')
VALUES ('2012-12-19', 11.79, 11.85, 11.62, 11.73, 54884700, -0.06, -0.508906)