Вставьте оператор Into со строками, которые включают символы "" - PullRequest
0 голосов
/ 26 июня 2019

Я хочу вставить целое число и две текстовые строки одну за другой.Каждая строка может включать в себя одинарные и двойные кавычки и запятые.Это дает мне сообщение об ошибке:

Сообщение 102, Уровень 15, Состояние 1, Строка 6
Неверный синтаксис рядом с 's'

и цвета в ssmsне так, как должно быть, но довольно случайны.

Я попытался вставить ' до и после имени столбца в после имени таблицы

insert into Items_Desc (fK_itemnum, desc_wUOM, desc_woUOM) 
values
(1, 'Careus seat covers 20/250s', 'Careus seat covers'),
(2, 'Plastus Table Sheets 66" x90"',10/20s', 'Plastus Table Sheet 66" x 90"'),
(3, 'Plastus Table Sheets 66" x72",10/24s', 'Plastus Table Sheets 66" x 72"'),
(4, 'Plastus Table Sheets 66" x90"',10/16s', 'Plastus Table Sheets 66" x 90"'),
(5, 'Plastus Table Sheets 66" x72"',10/20s', 'Plastus Table Sheets 66" x 72"')

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Вот пересмотренная версия вашего оператора вставки:

insert into Items_Desc (fK_itemnum, desc_wUOM, desc_woUOM) 
values
(1, 'Careus seat covers 20/250s', 'Careus seat covers')
,(2, 'Plastus Table Sheets 66" x90"'',10/20s', 'Plastus Table Sheet 66" x 90"')
,(3, 'Plastus Table Sheets 66" x72",10/24s', 'Plastus Table Sheets 66" x 72"')
,(4, 'Plastus Table Sheets 66" x90"'',10/16s', 'Plastus Table Sheets 66" x 90"')
,(5, 'Plastus Table Sheets 66" x72"'',10/20s', 'Plastus Table Sheets 66" x 72"')

И объяснение:
В SQL Server одиночная кавычка представляет начало или конец строки.
Чтобы передать строку, содержащую одну кавычку, вам нужно ее избежать, удвоив ее - поэтому строка типа Hi, I'm Zohar должна быть Hi, I''m Zohar.

При этом факт, что ваши исходные строки имеют смежные одинарные и двойные кавычки, очень затрудняет поиск проблемных одинарных кавычек, считывающих все пять строк одновременно - поэтому самый простой способ исправить это разделить и победить - что Вот почему я переместил запятые в начало строк вместо того, чтобы оставлять их в конце. Это позволило мне просто закомментировать все строки, кроме первой, запустить вставку и повторять, пока я не нашел первую проблемную строку. Исправьте эту строку и повторите процесс - поэтому менее чем за минуту я смог найти и исправить все три проблемные строки в тестовой среде.

0 голосов
/ 26 июня 2019

Я думаю, это то, что вы ищете:

 INSERT INTO items_desc 
                (fk_itemnum, 
                 desc_wuom, 
                 desc_wouom) 
    VALUES      (1, 
                 'Careus seat covers 20/250s', 
                 'Careus seat covers'), 
                (2, 
                 'Plastus Table Sheets 66" x90"'',10/20s', 
                 'Plastus Table Sheet 66" x 90"'), 
                (3, 
                 'Plastus Table Sheets 66" x72",10/24s''', 
                 'Plastus Table Sheets 66" x 72"'), 
                (4, 
                 'Plastus Table Sheets 66" x90"'',10/16s', 
                 'Plastus Table Sheets 66" x 90"'), 
                (5, 
                 'Plastus Table Sheets 66" x72"'',10/20s', 
                 'Plastus Table Sheets 66" x 72"') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...