2015-09-23 3 views

ответ

5

Символ одиночной кавычки (') запускает и завершает строку.

Символ двойной трубы (||) объединяет строки.

В соответствии с некоторыми комментариями ||, не доступен в MySQL.

Теперь ваше утверждение содержит даже символы тройной кавычки ('''). Это связано с тем, что для того, чтобы иметь одиночный символ кавычки в строке (кавычки), он должен быть экранирован другим (предшествующим) символом одиночной кавычки.

Итак: 'foo' это строка Foo, 'bar' || ' ' || baz это строка бар Баз и It''s ok является строка Это нормально.

Оператор select в вашем вопросе возвращает набор результатов, состоящий из одного столбца, тип данных которого является строкой. Эти строки выглядят так:

delete from TABLE_1 TABLE_1.ID ='ABCD'; 
delete from TABLE_1 TABLE_1.ID ='DEFG'; 

тогда как ABCD, DEFG ... являются значения v.id (то есть из table_2 Идентификатор столбца).

Похоже, что ваш оператор select используется для создания операторов удаления, которые в свою очередь должны каким-то образом запускаться. Конечно, те сформулированные утверждения не будут выполняться, так как отсутствует WHERE.

+0

Это правильно. Трубы не работают в SQL. Это только Oracle. – durbnpoisn

+0

Итак, что значит выбрать строку? – Chris311

+0

@durbnpoisn Я думаю, что postgres использует || для конкатенации. – markg

Смежные вопросы