У меня есть таблица, в которой есть столбец с именем 'languages', но он имеет следующие типы значений:
english; polish; portuguese;
.. и т. Д.
Я хочу разделить, чтобы вставить его в другую таблицу как:
english
polish
portugese
И продолжай.
Я уже искал в Google и нашел эту функцию разделения:
CREATE FUNCTION dbo.Split (@sep char(1), @s varchar(512))
RETURNS table
AS
RETURN (
WITH Pieces(pn, start, stop) AS (
SELECT 1, 1, CHARINDEX(@sep, @s)
UNION ALL
SELECT pn + 1, stop + 1, CHARINDEX(@sep, @s, stop + 1)
FROM Pieces
WHERE stop > 0
)
SELECT pn,
SUBSTRING(@s, start, CASE WHEN stop > 0 THEN stop-start ELSE 512 END) AS s
FROM Pieces
)
Я уже проверял это с помощью:
SELECT * FROM dbo.Split(' ', 'I hate bunnies')
Итак, я попытался приспособить это к своему делу:
INSERT INTO labbd11..language(language) SELECT s FROM dbo.Split(';', disciplinabd..movies.languages)
Тогда это дает мне исключение:
The multi-part identifier "disciplinabd..movies.languages" could not be bound. Severity 16
Есть идеи?
С уважением,
Вальтер Энрике.