-1

我正在尝试在 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], 的语法都无济于事。

4

3 回答 3

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)
于 2013-09-03T21:23:16.427 回答
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)

查看这篇技术网文章了解更多详细信息。

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

TSQL 是一个具有许多小特性的大产品。

真挚地

约翰

www.craftydba.com

于 2013-09-04T01:31:22.767 回答
-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)
于 2013-09-03T21:14:07.003 回答