>데이터 베이스 >MySQL 튜토리얼 >PostgreSQL 뷰: 뷰를 삭제하고 다시 생성하지 않고 뷰에 사용된 열을 수정하려면 어떻게 해야 합니까?

PostgreSQL 뷰: 뷰를 삭제하고 다시 생성하지 않고 뷰에 사용된 열을 수정하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-03 18:11:39485검색

PostgreSQL Views: How Can I Modify Columns Used in a View Without Dropping and Recreating It?

PostgreSQL: 뷰에 사용된 열 수정

PostgreSQL 뷰에 사용된 열을 수정하려고 하면 일반적으로 뷰를 삭제하고 열을 변경해야 합니다. 을 클릭하고 뷰를 다시 만듭니다. 이 과정은 지루하고 시간이 많이 걸릴 수 있습니다. 이 부담을 완화할 수 있는 방법이 있습니까?

해결책

영구 해결:

정의된 길이의 문자 가변(n) 데이터 유형 사용을 피하세요. . 대신 길이 지정자 없이 text 또는 varchar 데이터 유형을 사용하십시오. 필요한 경우 CHECK 제약 조건을 사용하여 최대 길이를 적용하세요. 이 접근 방식을 사용하면 열 유형을 변경할 때 뷰를 수정할 필요가 없습니다.

CREATE TABLE monkey (name text NOT NULL);

ALTER TABLE monkey ADD CONSTRAINT monkey_name_len CHECK (length(name) < 101);

자세한 설명

PostgreSQL 뷰는 단순히 하위 쿼리에 대한 별칭이 아니라 자체 규칙 구조를 가진 특수 테이블입니다. 결과적으로 기본 테이블을 수정할 때 종속 뷰도 수정해야 하는 경우가 많습니다. ALTER VIEW 문은 보기 속성을 변경할 수 있지만 기본 쿼리는 변경할 수 없습니다.

쿼리를 변경하려면 CREATE OR REPLACE VIEW를 사용하세요. 단, 결과 열 데이터 형식을 수정하는 경우에는 이 작업이 불가능합니다. 이러한 경우 이전 보기를 삭제하고 새 보기를 만들어야 합니다. 이 작업은 데이터를 삭제하지 않지만 보기와 관련된 추가 속성을 제거할 수 있습니다.

위 내용은 PostgreSQL 뷰: 뷰를 삭제하고 다시 생성하지 않고 뷰에 사용된 열을 수정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.