출발 : | "Donald Fraser"<Demolish (at) cwgsy (dot) net |
---|---|
to : | "[버그]"<pgsql-bugs (at) postgresql (dot) org |
제목 : | 널에 대한 윈 토토이 설정되지 않습니다. |
날짜 : | 2003-03-03 22:13:10 |
메시지 -ID : | 003901C2E1D2 $ 16A6D810 $ 1664A8C0@Demolition |
보기 : | RAW 메시지|전체 스레드|mbox 다운로드|이메일 재판용 |
스레드 : | |
목록 : | pgsql-bugs |
i686-PC-Linux-GNU의 Postgresql 7.3.1, GCC 2.96에 의해 편집
다음 SQL이 주어지면 :
테이블 작성 "TBL_TEST"(
"id"int4 not null,
"b_disabled"bool default '0'not null,
"S_DESC"텍스트 NOT NULL,
"DT_EDITED"시간대 윈 토토이없는 타임 스탬프 (0) 'NOW'NOT NULL,
제약 "TBL_TEST_PKEY"기본 키 ( "ID"),
제약 "TBL_TEST_DESC_KEY"고유 한 ( "S_DESC")
) oids없는;
"tbl_test"에 공개적으로 모든 것을 부여하십시오;
vu_tbl_test를 선택한 id, s_desc, b_disabled, dt_edited wrom tbl_test;
Grant Select, Insert, TABLE에서 업데이트 VU_TBL_TEST GROUP PUBLIC;
vu_tbl_test 대신 삽입 된 insert로 rule rul_vu_test_i1을 작성하십시오 (tbl_test (id, s_desc, b_disabled) 값 (new.id, new.s_desc, new.b_disabled););
vu_tbl_test에 윈 토토 업데이트 대신 대신 (update tbl_test set s_desc = new.s_desc, b_disabled = new.b_disabled where (id = new.id);
나는 청각 장애인 값에 큰 문제가 있습니다 :
예를 들어 다음 SQL 실행 :
bugs = tbl_test (id, s_desc) 값 ( '1', 'std insert test')에 삽입;
삽입 0 1
이것은 작동하지만보기와 동일합니다..
bugs = vu_tbl_test (id, s_desc) 값 ( '2', '삽입 테스트')에 삽입;
오류 : execinsert : null 속성에서 null 값을 추가하지 못한다
추가 조사 :
bugs = tbl_test에 삽입 (id, s_desc, b_disabled) 값 ( '3', 'null 삽입 테스트', null);
오류 : execinsert : null 속성에서 null 값을 추가하지 못합니다. b_disabled
insert 문에 null 값이 지정 될 때 윈 토토이 설정되지 않았 음을 보여줍니다.
클라이언트 소프트웨어는 널이있는 인서트를 쉽게 피할 수 있기 때문에 직선 테이블에 적합 할 수 있지만, 사용자가 널을 공급하고 있는지 또는 단순히 지정되지 않은지 여부를 알지 못하기 때문에이 상황은보기에 완전히 사용할 수 없습니다. 이 널 상황을 피하고 싶더라도 삽입 문에 윈 토토 순열의 수는 2 개의 열을 넘어서있을 때 말도 안되는 것으로 확대 될 것입니다.
견해에 윈 토토 모든 생각이나 요약은 환영받을 것입니다.
GODS
Donald Fraser.
From | 날짜 | 주제 | |
---|---|---|---|
다음 메시지 | Peter Eisentraut | 2003-03-03 23:16:19 | Re : Windows NT 4 독일어 버전에 따른 설치 문제 |
이전 메시지 | Robert Haas | 2003-03-03 21:01:45 | Re : 트랜잭션 중에 시간대를 설정하면 시간이 지남에 따라 |