为对象提供的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.