0
나를 위해 필요한 조건을 가진 스크립트를 만들었습니다. 그리고 제대로 작동합니다. 그러나 많은 행에이 스크립트를 적용해야합니다.. 그리고 id는 15
뿐입니다.subselect가있는 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를 얻은 다음이 스크립트를 별도의 스크립트에서 수동으로 대체하여이 스크립트를 적용 할 수 있습니다. 하지만 단일 쿼리로 자동으로 적용하고 싶습니다.
그래서, 당신은 ID의 루프 루프에서 현재 하나를 사용하여 ID를 대체 목록을 통해 목록을 얻으려면을, 예를 들면? – christiandev
가능하면 가능합니다. –
T-SQL에서 코드를 작성하기 시작한 후 postgresql을 사용하고 있다는 것을 알았으므로이 코드는 유용하지 않습니다. 따라서이 링크를 살펴보십시오. http://www.postgresql.org/docs/8.4/static/plpgsql -control-structures.html – christiandev