Teradata에서 새 열을 하나 만들고이 열을 다른 열에서이 새 열로 이동했습니다. 그 후, 이전 열을 삭제했습니다. 지금하고 싶은 것은 새 열을 이전 열이 있던 테이블의 같은 위치로 이동하는 것입니다. 나는 당신에게 묻고 싶다 - 그것이 가능한가 아닌가?Teradata에서 열 이동
답변
비즈니스 요구 사항이 테이블 정의의 열 순서 지정을 강제하지 않는 한 (예 : 타임 스탬프가 테이블 정의의 마지막 열임) 큰 문제는 아닙니다. View ROW ACCESS 잠금을 사용하여 열 (1 : 1)에 대한 뷰 열을 매핑하는 V1 계층이있는 경우 뷰 정의는 항상 열의 기본 서수 위치를 최종 사용자 및 BI 응용 프로그램에 표시 할 수 있습니다.
- 가 원하는 순서 위치, 열 기본값 및 값 목록 압축으로
CREATE TABLE MyDB.MyTable_
제출 : 당신이 주문을 다시해야하는 경우당신의 열은 다음을 수행.
INSERT INTO MyDB.MyTable_ SELECT /* Columns */ FROM MyDB.MyTable;
RENAME MyDB.MyTable AS MyDB.MyTable1; RENAME TABLE MyDB.MyTable_ AS MyDB.MyTable;
- 모든 것을 검증하기 위해 후
COLLECT STATISTICS ON MyDB.MyTable_ FROM MyDB.MyTable; -- Migrate collected statistics
- ,
DROP TABLE MyDB.MyTable1;
당신 수도 수행하는 대신 1 단계 3의 다음
CREATE TABLE MyDB.MyTable_
(/* Column Definitions in new Order */) AS
(SELECT /* New Column Ordering */
FROM MyDB.MyTable)
WITH DATA AND STATISTICS
{UNIQUE} PRIMARY INDEX (/* Primary Index Columns */);
통계 이것으로 인구가 넘을 수도 오지 않을 수도있다. 접근. 새 테이블을 만든 후에이를 확인해야합니다.
이 내용은 your previous question과 관련되어 있으므로 동일한 내용으로 답해 드리겠습니다.
아니요, 사실 이후에 열 순서를 변경할 수 없습니다. 기존 표에 새 열을 "추가"하면 표 설명 끝에 정의됩니다. 물리적 테이블의 특정 순서로 열이 실제로 필요하면 테이블을 완전히 다시 만들어야합니다.
그러나 원하는 순서대로 열을 표시하는 VIEW를 만들 수 있습니다. 사실,이 테이블을 어떤 종류의 응용 프로그램에 사용하려는 경우 적절한 액세스 잠금을 설정할 수 있도록 모든 경우에 VIEW를 만들어야합니다. 예를 들어, 세 개의 열 COL_A, COL_B 및 COL_C으로 MYTABLE이라는 이름의 테이블이 있다고 가정하고 당신은 그들이 역순으로 "표시"원하는 : 그렇지 않은 경우 "보기를 교체 사용"
이replace view MYDB.MYTABLE_V as
locking MYDB.MYTABLE for access
select COL_C, COL_B, COL_A
from MYDB.MYTABLE
보기를 만듭니다 이미 존재하거나 그것을 대체 할 수 있습니다. 물론, 이는 테이블을 변경 한 경우 뷰를 다시 만들어야 함을 의미합니다. 나는 테이블 생성 프로그램의 주석 블록에서 뷰 정의를 안전하게 유지합니다.
Bob, 훌륭한 답변 주셔서 감사합니다! Teradata에 대한 의문을 해소하는 데 도움이되었습니다. – Dantes
- 1. Teradata에서 조정 (그룹화 기준)
- 2. 화살표가있는 열 이동
- 3. crosstab() 쿼리 이동 열
- 4. Teradata에서 동적 SQL을 실행하는 방법
- 5. teradata에서 통계를 수집합니다 14 - 동일한 열 집합에서 서로 다른 열 순서가있는 여러 통계가 허용되지 않습니다.
- 6. Liquibase 이동 열 데이터베이스 리팩토링
- 7. 오라클 테이블의 열 사이에서 이동
- 8. Teradata에서 문자열을 이진으로 변환하는 방법은 무엇입니까?
- 9. 복수 세트 열을 단일 열 세트로 이동
- 10. Java : JTable 열 추가 및 이동
- 11. Vb.NET을 사용하여 한 번에 열 파일 이동
- 12. 처음부터 끝까지 데이터 테이블의 열 이동
- 13. Doctrine2 마이그레이션 및 다른 엔티티로 열 이동
- 14. JQuery를 사용하여 패널을 열 때 포커스 이동
- 15. ExpanderView를 열 때 다른 항목 이동
- 16. Excel VBA : 통합 문서간에 열 이동
- 17. 반응이있는 디자인에서 맨 왼쪽 열 이동
- 18. Teradata에서 테이블의 마지막 변경 날짜를 어떻게 알 수 있습니까?
- 19. teradata에서 "select * from dbc.columnsX"실행 속도가 매우 느립니다 13.10
- 20. teradata에서 Case 절에 delete 절을 사용할 수 있습니까?
- 21. Teradata에서 두 테이블의 내용을 비교하는 가장 좋은 방법은 무엇입니까?
- 22. Teradata에서 프로 시저의 RequestText를 쿼리 할 수 있습니까?
- 23. 누가 SQL 또는 Teradata에서 나를 대신 확인할 수 있습니까?
- 24. SAS 스크립트를 통해 Teradata에서 선택 권한을 부여하려면 어떻게합니까?
- 25. Teradata에서 SHOW TABLE 명령을 사용하려면 어떤 권한이 필요합니까?
- 26. teradata에서 특정 기간의 특정 요일에 대한 판매 계산
- 27. 웹 서비스를 사용하는 SharePoint의 ContentType 및 사이트 열 이동
- 28. 블록을 왼쪽에서 내용으로 이동 (계정 탐색) Magento (1 열 레이아웃)
- 29. Ajax 아코디언이 첫 번째 창에서만 왼쪽 열 내용을 위아래로 이동
- 30. VB6 및 데이터 바인딩 MSHFlexGrid, 열 이동 및 채우기
Bob, 귀하의 답변은 항상 도움이됩니다. 고맙습니다! – Dantes