Столбец SELECT n'char 'хранилища данных Azure не найден

Поскольку ADW не поддерживает вставку нескольких записей с использованием стандартного синтаксиса INSERT ... VALUES, обходной путь - SELECT .. UNION ALL для каждой записи.

Например:

-- this does work
INSERT INTO Banana.HamburgerTable (UnicodeColumn nvarchar(255)) 
VALUES (n'公');

-- this won't work
INSERT INTO Banana.HamburgerTable (UnicodeColumn nvarchar(255)) 
VALUES (n'公'),
(n'司') ;

-- this should work
INSERT INTO Banana.HamburgerTable 
SELECT n'公' UNION ALL
SELECT n'司'; 

Однако на практике второй синтаксис возвращает эту ошибку:

Failed to execute query. Error: Invalid column name 'n'.

Зачем приходить?


person EthanK    schedule 18.09.2019    source источник


Ответы (1)


индикатор unicode 'n' в начале строки чувствителен к регистру в операторах select, но нечувствителен к регистру для вставляемых значений. Итак, правильная версия приведенного выше утверждения:

INSERT INTO Banana.HamburgerTable 
SELECT N'公' UNION ALL
SELECT N'司'; 
person EthanK    schedule 18.09.2019