Я создал сценарий с необходимым условием для меня. И он работает правильно. Но мне нужно применить этот скрипт на многих строках. И не только где id 15
.Оператор UPDATE с подзапросом
UPDATE my_table SET my_field =
(SELECT
CASE WHEN position('a' in my_field) = 0 THEN my_field
WHEN position('a' in my_field) = 1 THEN substring(my_field from 1 for 5)
WHEN position('a' in my_field) > 1 THEN substring(my_field from 2 for 5)
END
FROM my_table WHERE id = 15)
WHERE id = 15
Я хотел бы применить этот скрипт к строкам, где выполняется конкретное условие. Например, я хотел бы написать WHERE my_field LIKE '%ab%'
. Но проблема в том, что у меня есть подзаголовок. Поэтому я могу применить отдельный скрипт для получения всего необходимого идентификатора, а затем применить этот скрипт, вручную заменяя отдельный идентификатор из отдельного сценария. Но я хочу применить его автоматически с помощью одного запроса.
Итак, вы хотите, чтобы получить список идентификаторов и перебрать список заменяющего ID с текущим в цикле, например? – christiandev
Да, если это возможно. –
Я начал писать код в T-SQL, а затем понял, что вы используете postgresql, поэтому этот код не будет полезен - так взгляните на эту ссылку http://www.postgresql.org/docs/8.4/static/plpgsql -control-structures.html – christiandev