포스트 그레스 규칙 (https://www.postgresql.org/docs/current/static/sql-createrule.html)에서 변수를 사용할 수 있습니까? 내가 두 번째 INSERT에서 사용할 수 있도록 예를 들어, 규칙에 내가 할 경우포스트그레스 규칙에서 변수 사용
CREATE RULE "_RETURN" AS
ON INSERT TO t1
DO INSTEAD
INSERT INTO t1 (id, a) VALUES (uuid_generate_v4(), new.a)
INSERT INTO t4 (id) VALUES (??????)
은 어떻게 든 변수로 첫 번째 INSERT에 uuid_generate_v4()
의 값을 설정할 수 있습니까? 또는 첫 번째 INSERT에서 생성 ID를 얻을 수있는 방법이 있나요? 그래서 두 번째에서 사용할 수 있습니까?
또한 오류가 발생합니다. infinite recursion detected in rules for relation
. 아마도 테이블 t1에 대한 규칙이지만 t1에 삽입 할 명령문을 포함하기 때문일 수 있습니다. 이 작품을 어떻게 만들 수 있습니까?
나는 [CTE] (https://www.postgresql.org/docs/9.1/static/queries-with.html)를 사용하여 uuid 값을 선택하고 삽입시이를 참조 할 수 있다고 생각한다. 아마 다른 방법이있을지라도. 또한 재귀는't1'에 삽입 할 때마다 규칙을 다시 생성하는 't1'에 삽입을 수행하는 규칙을 생성한다는 사실에서 비롯된 것입니다. 따로 – jcern