기존 데이터베이스에 대한 업데이트 인 큰 텍스트 파일에 대량 삽입을 수행했습니다. 잘라 내기 오류로 모든 종류의 문제가 발생하여 모든 것을 varchar(max)
으로 설정했습니다. 이제 모든 것이 SQL Server에 있습니다. 데이터베이스 b의 데이터 형식을 데이터베이스 a의 데이터 형식으로 변환하고 싶습니다. 두 데이터베이스의 테이블과 필드 이름이 같은 경우이 작업을 수행하는 몇 가지 방법은 무엇입니까? 또는 '하드 코드 된'가져 오기 후에 실행하는 기존 스크립트를 갖는 것이 가장 좋습니다.한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 데이터 형식 변환
답변
이런 식으로 뭔가를 시도하고 결과를 수정하고
declare @sql varchar(max)
set @sql=''
select
@[email protected]+'Alter table '+table_name+' alter column '+column_name+' '+cast(data_type as varchar(100))+
case when data_type like '%char%' then '(' else '' end +cast(coalesce(CHARACTER_MAXIMUM_LENGTH,'') as varchar(100))+
case when data_type like '%char%' then ')' else '' end+';'
from
information_schema.columns
where
table_name='test'
print @sql
나는 동적 SQL을 아직 작성하지 않았다. :) – wootscootinboogie
이것이 내가 할 일이다. 그것에 대해 의사 코드 방식으로 생각하면됩니다. – wootscootinboogie
확인. 동적 인 SQL이 필요한 몇 가지 경우가 있습니다 – Madhivanan
하나의 SQL Server 데이터베이스에서 다른 데이터베이스 서버로 데이터를 이동하는 경우 Atlantis Interactive Data Inspector을 사용할 수 있습니다. 그렇게하고 싶지 않다면 데이터베이스에서 테이블을 스크립트 아웃 한 다음 모든 열 앞에 ALTER TABLE [table] ALTER COLUMN
을 붙여 데이터베이스 b에서 실행하면됩니다.
이쪽으로 돌아 가면. 나는'a.column1 = a.column2' 문과 같이 cast 함수를 실행할 문장을 생각하고있었습니다. – wootscootinboogie
당신은 테이블의 뷰를 만들 수 있습니다 실행 당신에서 끌어 찾고 그냥) (당신이 데이터 유형으로 변경하는 데 필요한 열을 캐스팅 당신은 그들을 바꿀 필요가 있습니다. 그런 다음 해당 데이터 유형에서 해당보기에서 모든 삽입을 수행 할 수 있습니다. 희망이 도움이됩니다.
- 1. 한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 기존 행을 복사하지 않습니까?
- 2. 한 데이터베이스에서 다른 데이터베이스 테이블로 데이터 전달
- 3. 한 테이블에서 다른 테이블로 데이터 가져 오기
- 4. 하나의 데이터베이스 테이블에서 다른 데이터베이스 테이블로 세 개의 열 복사
- 5. 1 데이터베이스 테이블에서 다른 데이터베이스 테이블로 데이터를 복사하는 SQL 코드
- 6. 하나의 데이터베이스 테이블에서 쉘을 사용하여 다른 테이블로 데이터 이동
- 7. 하나의 데이터베이스/테이블에서 다른 데이터베이스/테이블로 데이터를 복사하는 방법
- 8. PHP 한 오라클 데이터베이스 테이블에서 다른 테이블로 사진 전송하기
- 9. 한 테이블에서 다른 테이블로 이미지 데이터 형식 복사
- 10. MySQL - 한 테이블에서 다른 테이블로 데이터 참조
- 11. 한 테이블에서 다른 테이블로 데이터 이동
- 12. 한 테이블에서 다른 테이블로 데이터 이동
- 13. sqlite 한 테이블에서 다른 테이블로 데이터 복사
- 14. 매일 한 테이블에서 다른 테이블로 데이터 이동
- 15. 한 테이블에서 다른 테이블로 데이터 이동
- 16. 데이터 테이블 또는 데이터베이스 테이블에서 클래스 생성
- 17. 한 테이블에서 다른 테이블로 레코드 업데이트
- 18. 동일한 데이터베이스의 한 테이블에서 다른 테이블로 데이터 전송 SSIS
- 19. PostgreSQL 9.1의 한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 오래된 데이터를 아카이브합니까?
- 20. 한 테이블에서 다른 테이블로 PHP adodb 덤프
- 21. 다른 테이블로 모든 SQLite 데이터베이스 병합
- 22. 데이터베이스 삽입을위한 SOAP 개체를 EF 테이블로 변환
- 23. 한 테이블에서 다른 테이블로 몇 줄 이동하고 다른 테이블로 옮기기
- 24. mysql - 한 테이블에서 다른 테이블로 행을 이동하거나
- 25. 하나의 SQL Server 데이터베이스 테이블에서 다른 데이터베이스로 데이터 복사
- 26. 데이터베이스 오브젝트가있는 테이블에서 데이터 검색
- 27. 하나의 데이터베이스 테이블에서 다른 데이터베이스 테이블로 레코드/데이터를 내보내는 방법은 무엇입니까?
- 28. 하나의 MySQL 테이블에서 다른 테이블로 데이터 전송
- 29. SQL 데이터베이스 테이블에서 데이터 당기기
- 30. 엔티티 프레임 워크 CodeFirst 한 테이블에서 다른 테이블로 데이터 이동
모든 것을'varchar (max)'로 설정해야합니까? 확실히 당신은 이미 varchar였던 컬럼에 대해 최대 길이를 설정할 필요가있었습니다. 다른 모든 데이터 타입은 아마 괜찮을 것이고 당신은이 엉망이되지 않을 것입니다! 다시 가져 오기가 가능합니까? 그것은 아마 적은 일 것입니다. – Bridge
CAST() 함수는 무엇입니까? –
사본 DB에 키, 관계, 색인 등이 있습니까? –