Sap DB시스템을 변경시에 open SQL이 아닌 Native SQL을 사용하도록
하는 이유를 정확히 모르겠습니다. native sQL을 사용할경우 Data손실이 발생하기 때문인가요?
댓글 5
-
e-abap
2007.12.13 01:50
-
kkk
2007.12.13 02:06
원문의 내용입니다.
Do not use Native SQL to change the SAP database system. The referential
integrity of the SAP system is maintained by the SAP system programs. The use
of Native SQL can easily lead to the destruction of your data. If you need to use
Native SQL, consider packaging the code in an include, so that it is easier to
modify if your RDBMS changes. Restrict your Native SQL to Standard SQL -
e-abap
2007.12.13 02:37
이 문서의 내용을 의역하면,
SAP에 존재하는 외부키가 실제 DB에는 생성되지 않으므로 NATIVE SQL을 사용하여 INSERT 를 하게 되면, 외부키 관계(무결성, INTEGRITY)가 깨질수 있다는 내용입니다.
OPEN SQL인 INSET 구문을 이용하면 외부키에 적합하지 않으면 INSERT가 실패 합니다.
그래서 데이터 무결성을 확보하려면 OPEN SQL을 사용하라는 것입니다.
그리고 추가로 NATIVE SQL을 사용하면 ABAP 프로그램에서 활성화할 때 구문 점검을 하지 않습니다.
-
지의
2007.12.13 17:58
그리고 SAP 에서는 DB 에 접속해서 뭔가 작업을 행위를 추천하지 않습니다. Native SQL 은 SAP 에서는 해도 되지만 권장 사항이 아니죠. -
kkk
2007.12.13 19:16
답변감사드립니다.
db 시스템이라는 것은 무엇을 말하나요?
그냥 ABAP Dictionary table을 의미하나요?
아니면 데이터 베이스에만 존재하는 시스템 테이블들을 의미하나요?