뷰에서 참조하는 테이블을 가져 와서 표시하고 싶습니다.
나는 두 개의 테이블이 있습니다 test1
및test2
이 테이블을 참조하는 뷰를 만들었습니다.
CREATE VIEW First_View
AS
SELECT * FROM test1
UNION
SELECT * FROM test2;
내가 좋아하는 뷰의 세부 사항을 포함하는 하나 개의 테이블을 만든 view id
및 view name
아래와 같이를 :
CREATE TABLE View_Details
(
view_id int,
view_name varchar
);
레코드를 삽입했습니다.
INSERT INTO view_details values(1,'First_View');
이제 하나의 매개 변수 v_id
가 있는 함수를 만들고 view_id
있으며 view_namt
.
이 작업을하고 있지만 메시지에 아무것도 표시되지 않습니다.
CREATE OR REPLACE FUNCTION For_testing(v_id INT)
RETURNS VOID AS
$$
Declare
var varchar;
v_name varchar;
BEGIN
SELECT view_name INTO v_name from view_details where view_id = v_id;
FOR var IN SELECT Table_NAME from INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE View_Name = v_name LOOP
RAISE INFO '%',VAR;
END LOOP;
END;
$$
language plpgsql;
호출 기능 :
SELECT for_testing(1);
SELECT lower(view_name) INTO v_name from view_details where view_id = v_id;
First_View가 되려면 큰 따옴표로 묶어야하므로 시도 하십시오 ...보기를 만들 때 "First_View"를 사용하지 않으면 사전이 First_View를 lower (First_View)로 변경합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다