안녕 하세요..^^
MSSQL 인데 저장 하는 방법이 없을까 해서요..
A 테이블과 B테이블이 있습니다..
A 테이블 B 테이블
A1 varchar '3' B1 varchar '3'
A2 varchar '3' B2 float 8
A3 float 8 B3 varchar '3'
이런식으로 있는데..
걍 밀어 넣을 방법 없을까요?
A1 <- B1
A2 <- B2
A3 <- B3
데이터 형식이 틀려서.. 저장이 않되네요..ㅠ.ㅠ
쿼리로 넣어 버릴려고 하는데.. 방법 없을까요?
답변이 될지 모르겠습니다.
일단 제가 보기엔 말이 좀 안 되는것 같습니다.
만약 b테이블에 b2필드가 숫자가 1000자리 이상만 된다면
저장이 불가능할꺼니까요
b테이블의 자리수가 3자리 이하로 들어 간다면 문제가 안 되겠지만
3자리 를 초과 한다면 절대 저장 불가할것같습니다.
insert into a select * from b
<=====양쪽 테이블이 같은 형식이라면 이렇게 해도 무관할꺼구요
with query1 do
begin
close;
sql.clear;
sql.add(' insert into a ( a1,a2,a3) ');
sql.add(' values( :a1,a2,a3) ');
with query2 do
begin
close;
sql.clear;
sql.add( ' select * from b ');
Open;
while not query2.eof do
begin
query1.ParamByName('A1').AsString := query2.fieldbyname('b1').Asstring;
query1.ParamByName('A2').AsString := Copy(query2.fieldbyname('b2').Asstring,1,3);
query1.ParamByName('A3').AsString := query2.fieldbyname('b3').Asstring;
query1.execsql;
end;
end;
이런식으로 해도 될껀데요
문제는 a2와 b2가 달라서 문제가 될꺼같습니다.
도움이 되시길.,..
그럼 항상 즐코 하세요