Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为对象提供的Sql参数';公司';这不是一个函数_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

为对象提供的Sql参数';公司';这不是一个函数

为对象提供的Sql参数';公司';这不是一个函数,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我想使用查询: INSERT INTO Firm('name', 'name_original', 'id_city', 'id_service', 'id_firm') VALUES ('РЭД-АВТО ООО', 'РЭД-АВТО ООО', '73041', '2', '1429'), ('УМ-3 ЗАО ', 'УМ-3 ЗАО ', '73041', '2', '49806'), ('ООО West Hole', 'РЭД-АВТО ООО', '73041', '2', '1

我想使用查询:

INSERT INTO Firm('name', 'name_original', 'id_city', 'id_service', 'id_firm')
VALUES
('РЭД-АВТО ООО', 'РЭД-АВТО ООО', '73041', '2', '1429'),
('УМ-3 ЗАО ', 'УМ-3 ЗАО ', '73041', '2', '49806'),
('ООО West Hole', 'РЭД-АВТО ООО', '73041', '2', '10004');
但我有错误:

Parameters supplied for object 'Firm' which is not a function. If the parameters are intended as a table hint, a WITH keyword is required.: 
INSERT INTO Firm('name', 'name_original', 'id_city', 'id_service', 'id_firm') 
VALUES 
('РЭД-АВТО ООО', 'РЭД-АВТО ООО', '73041', '2', '1429'), 
('УМ-3 ЗАО ', 'УМ-3 ЗАО ', '73041', '2', '49806'), 
('ООО West Hole', 'РЭД-АВТО ООО', '73041', '2', '10004')

请告诉我为什么会出现错误以及插入数据的正确性如何?

删除列名周围的引号

INSERT INTO Firm(name, name_original, id_city, id_service, id_firm)
VALUES
('РЭД-АВТО ООО', 'РЭД-АВТО ООО', '73041', '2', '1429'),
('УМ-3 ЗАО ', 'УМ-3 ЗАО ', '73041', '2', '49806'),
('ООО West Hole', 'РЭД-АВТО ООО', '73041', '2', '10004');

您不需要在
INSERT-INTO
语句中“字符串化”列名。列名应为标识符

召唤

INSERT INTO Firm(name, name_original, id_city, id_service, id_firm)
使用您的值将获得成功的结果,例如:

DECLARE @Firm TABLE(name NVARCHAR(100), name_original NVARCHAR(100), id_city NVARCHAR(100)
          , id_service NVARCHAR(100), id_firm NVARCHAR(100)) 

INSERT INTO @Firm(name, name_original, id_city, id_service, id_firm) 
VALUES 
(N'РЭД-АВТО ООО', N'РЭД-АВТО ООО', N'73041', N'1', N'1429'),  --<-- Prefix with 'N'
('РЭД-АВТО ООО', 'РЭД-АВТО ООО', '73041', '2', '1429')

SELECT * FROM @Firm
╔══════════════╦═══════════════╦═════════╦════════════╦═════════╗
║     name     ║ name_original ║ id_city ║ id_service ║ id_firm ║
╠══════════════╬═══════════════╬═════════╬════════════╬═════════╣
║ РЭД-АВТО ООО ║ РЭД-АВТО ООО  ║   73041 ║          1 ║    1429 ║ --<-- with Prefix 'N'
║ ???-???? ??? ║ ???-???? ???  ║   73041 ║          2 ║    1429 ║ --<-- without Prefix 'N'
╚══════════════╩═══════════════╩═════════╩════════════╩═════════╝

插入到TableName(Name,ID)中,然后插入值('Joe',2)。


注意:列名的数据类型应与插入的数据匹配。

谢谢你的提问,因为它也解决了我的问题
DECLARE @Firm TABLE(name NVARCHAR(100), name_original NVARCHAR(100), id_city NVARCHAR(100)
          , id_service NVARCHAR(100), id_firm NVARCHAR(100)) 

INSERT INTO @Firm(name, name_original, id_city, id_service, id_firm) 
VALUES 
(N'РЭД-АВТО ООО', N'РЭД-АВТО ООО', N'73041', N'1', N'1429'),  --<-- Prefix with 'N'
('РЭД-АВТО ООО', 'РЭД-АВТО ООО', '73041', '2', '1429')

SELECT * FROM @Firm
╔══════════════╦═══════════════╦═════════╦════════════╦═════════╗
║     name     ║ name_original ║ id_city ║ id_service ║ id_firm ║
╠══════════════╬═══════════════╬═════════╬════════════╬═════════╣
║ РЭД-АВТО ООО ║ РЭД-АВТО ООО  ║   73041 ║          1 ║    1429 ║ --<-- with Prefix 'N'
║ ???-???? ??? ║ ???-???? ???  ║   73041 ║          2 ║    1429 ║ --<-- without Prefix 'N'
╚══════════════╩═══════════════╩═════════╩════════════╩═════════╝
Do not forget to Prefix your passed strings with `N` as your strings contained 
unicode characters.