모호한 제목의 비트를 설명하겠습니다.삽입 스크립트를 작성하는 SQL 스크립트
데이터베이스에있는 테이블의 각 행에 대한 insert 문을 작성하기 위해 SQL 스크립트를 작성하고 있습니다.이 데이터를 순수하게 다른 데이터베이스에 다시 적용 할 수 있습니다. 여기
내가 지금 무엇을 가지고 :SELECT 'INSERT INTO products (id,name,description) VALUES ('||ID||','''||name||''','''||description||''');' FROM products
그리고이 출력, 좋은 작품 :
INSERT INTO products (id,name,description) VALUES (1,'Lorem','Ipsum');
INSERT INTO products (id,name,description) VALUES (2,'Lorem','Ipsum');
INSERT INTO products (id,name,description) VALUES (3,'Lorem','Ipsum');
INSERT INTO products (id,name,description) VALUES (4,'Lorem','Ipsum');
필드 중 하나가 행에 실패 할 비어있는 경우 문제는 업데이트 스크립트를 생성합니다. 출력 파일에서 그 행은 그냥 비어 있습니다. 분명히 20 개 이상의 필드가 있으므로 일부 옵션은 내 스크립트가 거의 생성되지 않는다는 것을 의미합니다.
이 문제를 해결할 방법이 있습니까?
Chris,이 기능은 훌륭했습니다. –
SQL 인젝션으로 인해 안전하지 않다는 경고를하고 싶습니다. 하나의 아포스트로피가 하나의 열에 나타나면 결과 SQL이 엉망이되거나 공격자가 데이터베이스에서 임의의 쿼리를 실행할 수 있습니다. – intgr
또한 동일한 정확한 행을 생성하지 않습니다. 위와 같이 병합하면 NULL 값을 삽입해야하는 빈 문자열 값이 삽입됩니다. –