2017-01-10 1 views
2

Я хочу вставить значение строки в таблицу.
я уже вставил точки с помощью команды на следующую:Вставить геометрическое значение LINE с использованием PostgreSQL 9.5

INSERT INTO public."Sample"(point) 
    VALUES (point(-71.060316, 48.432044)); 

но подобная команда для вставки строки:

INSERT INTO public."Sample"(line) 
    VALUES (line({ -71.1, 48.2, 1.3})); 

не работает.

Любая помощь очень ценится.

ответ

2

Эти собственные типы не имеют конструкторов-операторов. Они неявно принуждаются к строкам. Собственные типы означают, что в базе данных есть встроенные методы их хранения и индексирования, а не доступные вам методы для их создания из sql.

CREATE TEMPORARY TABLE foo AS 
SELECT 
    linestr::line AS doublecolon, // different ways to cast. 
    line(linestr) AS functionconst, // different ways to cast. 
    CAST(linestr AS line) AS cast // different ways to cast. 
FROM (
    VALUES ('{-71.1,48.2,1.3}'::text) 
) AS t(linestr); 

Чтобы построить линию ..