한 번에 여러 테이블 (100 개 이상의 테이블)을 만들고 싶습니다. 내가 원하는만큼 테이블을 생성하기위한 for 루프와 같은 루프를 사용하여 스크립트를 작성하려고합니다. 나는 PostgreSQL을 처음 접했습니다. 누군가가 나에게 조언을 해줄 수 있다면 감사 할 것입니다.PostgreSQL에서 다중 테이블 만들기
답변
#!/bin/sh
(
for i in 0 1 2 3 4 5 6 7 8 9; do
for j in 0 1 2 3 4 5 6 7 8 9; do
echo "SET search_path=tmp;"
echo "CREATE TABLE barf${i}${j}"
echo " (id SERIAL NOT NULL PRIMARY KEY);"
done
done) | psql -U lutsername databasename
Er ....'$ for (seq 0 99); '할거야?' –
IIRC는 bash 확장이 될 것입니다. 업데이트 : 아니, 그렇지 않습니다. (그러나 어이! 나는 명백하게하는 것을 좋아한다) 그러나 최소한 ARG_MAX가 <100 ;-) 인 시스템에서 작동 할 것이다. – wildplasser
그렇다면 널리 지원된다. zsh, dash에서 작동합니다. –
내 대답은 여기에있다 '그렇게 해달라고!' 그리고 당신의 건축을 바꿔라. customer라는 테이블을 만들고 다른 정보와 함께 customer_id를 만듭니다. 여기에 원하는 열이있는 두 번째 테이블을 만들고 'customer_id'열을 만들어 고객 테이블을 참조하십시오. 이 형식을 사용하면 100 개 이상의 테이블에 저장하려는 항목을 두 개의 테이블에 저장할 수 있습니다. 이 단계에서 데이터베이스 설계를 표준화하기를 원한다면 그렇지 않을 수도 있습니다. 그렇게하지 않으면 먼 미래에 악몽에 빠지게 될 것입니다. 데이터베이스가 스프레드 시트가 아닙니다 ...
나는 귀하의 제안에 감사하지만 그것은 나의 고객의 요구입니다. 조직은 고객별로 테이블을 분류하려고합니다. – user2711722
@ user2711722 : 그것은 내가 들어 본 중에 가장 바보 같은 요구 사항입니다. 내가 너라면 나도 그런 말도 안되는 것을 버릴거야. 여전히 하나의 테이블을 만들고 Twelth의 접근 방식을 사용하여 고객 전용 테이블을 "가짜"로 만드는 뷰를 만들 수 있습니다. –
나는 그들이 여기에 생성되는 악몽을 여전히 이해하고 있는지 확인합니다 ... 향후 관리 비용과이 세트의 부피 (나중에 귀하의 질문에 -2가있는 이유입니다). 즉, 고객은 항상 옳았고 절벽에서 뛰어 내리는 느낌이 든다면 우리의 의무를 버리는 것이 중요합니다. 누군가는 결국 이걸 정리할 계약을 맺을거야. 이것을 동적 SQL (보안 허점)으로 반복 할 수 있지만 클라이언트가 신경 쓰지 않을 것이라는 느낌을받습니다. 내 선호도는 Tomas Greif가 말했듯이 스프레드 시트를 사용하여 이러한 테이블을 대량으로 만듭니다. – Twelfth
- 1. Postgresql에서 다 대일 관계가있는 테이블 만들기
- 2. PHPWord 다중 테이블 만들기
- 3. mysql 다중 테이블 만들기
- 4. sqlite에서 다중 테이블 만들기
- 5. 만들기 다중 행 테이블 헤더
- 6. PostgreSQL에서 사용자 만들기
- 7. PostgreSQL에서 연산자 만들기
- 8. postgreSQL에서 테이블 생성
- 9. postgreSQL에서 저장된 테이블 형식
- 10. 테이블 명명 및 postgresql에서 테이블 구성
- 11. PostgreSQL에서 "집계 만들기"함수 내보내기
- 12. PostgreSQL에서 데이터베이스 테이블의 광범위한보기 만들기
- 13. postgresql에서 3 행/테이블 결합하기
- 14. PostgreSQL에서 빈 이름으로 테이블 삭제
- 15. Postgresql에서 다중 쿼리 수행하기 - 조건부 루프
- 16. Wicket을 사용하여 다중 동적 HTML 테이블 만들기
- 17. jQuery 다중 sqlite 선택에서 html 테이블 만들기
- 18. 어도비 에어 데이터베이스에 다중 테이블 만들기
- 19. 다중 테이블 조인을위한 비 클러스터형 인덱스 만들기
- 20. sql db (a-z 테이블)에 대한 다중 테이블 만들기
- 21. PostgreSQL에서 다중 트리거가있는 테이블에서 PetaPoco 삽입이 실패합니다.
- 22. PostgreSQL에서 합성 값을 반환하지 않는 함수 만들기
- 23. POStGreSQL에서 다중 행 XML 데이터 추출
- 24. pgAdmin을 통해 PostgreSQL에서 관계 링크 만들기
- 25. postgresql에서 동적 테이블 이름 사용 트리거
- 26. Python 인터페이스를 사용하여 Postgresql에서 Excel로 테이블 내보내기
- 27. 관련된 시퀀스를 삭제하지 않고 PostgreSQL에서 테이블 삭제
- 28. PostgreSQL에서 날짜를 기준으로 테이블 나이를 설정했습니다.
- 29. postgresql에서 테이블 구조를 인쇄하는 방법은 무엇입니까?
- 30. postgresql에서 총 테이블 수를 얻는 방법은 무엇입니까?
데이터베이스에서 100 개 이상의 테이블을 만드는 이유가 무엇인지 다시 생각해보십시오. 각 사용자 또는 각 고객에 대해 동일한 테이블을 만들려고합니까? 'customer_name'또는 customer_id 필드라는 열을 추가하는 것이 훨씬 더 좋습니다. – Twelfth
@ Twelfth, 당신 말이 맞아요. 각 고객에 대해 테이블을 만들려고합니다. 그래, 테이블은 동일합니다. – user2711722
나는 일반적으로 간단한 텍스트 연결 수식이있는 스프레드 시트를 사용하여 이러한 일회성 작업을 수행합니다. 예를 들면 다음과 같습니다.'= "create table"& A1 & "(int, b int);"'A 열에 테이블 이름이 있고 이 수식을 복사/붙여 넣기하십시오. –