-1
C 프로그래밍을 사용하여 동일한 스키마로 두 SQL 데이터베이스를 병합하려고합니다. SQL을 처음 접했을 때 C 프로그래밍을 사용하여 병합하기 위해 아래 코드를 시도했습니다. 하지만 런타임시 SQL 문에서 파일 경로를 전달할 수 없기 때문에 병합하지 못했습니다. 아래의 SQL 문에서 파일 경로를 전달하여 병합 할 수있는 방법.C 프로그래밍을 사용하여 SQL 문에서 런타임에 파일 경로를 전달하는 방법
/두 DB를/
rc = sqlite3_open(argv[1], &db); /*-----> argv[1] is old_student.db*/
if(rc)
{
printf("Can't open database: %s\n", sqlite3_errmsg(db));
exit(0);
}
else
{
printf("Opened database successfully\n");
}
/*Create SQL statement to merge two DBs*/
sql = "attach '<file_path_name>' as toMerge;\ /*--------> how to pass file path here in runtime */
BEGIN;\
insert or ignore into student_table (Name, AGE, Address)\
select Name, AGE, Address from toMerge.student_table;\
COMMIT;";
/* Execute SQL statement */
rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
if(rc != SQLITE_OK)
{
printf("SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}
else
{
printf("%s merged New_student.db successfully with old_student.db\n");
}
sqlite3_close(db);
제가 런타임에 SQL 문에서 매개 변수를 전달하는 방법을 알려주세요 을 병합 SQL 문을 작성합니다. 귀하의 도움을 매우 높이 평가하겠습니다.
미리 감사드립니다.
감사합니다. –