TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-05-27 |
제목 | DYNAMIC SQL METHOD1(CREATE TABLE) | ||
---|---|---|---|
DYNAMIC SQL METHOD1(CREATE TABLE)
================================= /******************************************************************* Sample Program : Dynamic SQL Method 1( Create Table) *******************************************************************/ #include typedef char asciz[80]; EXEC SQL BEGIN DECLARE SECTION; EXEC SQL TYPE asciz IS STRING(80) REFERENCE; VARCHAR username[20]; VARCHAR password[20]; asciz sqlstmt; asciz tabname; EXEC SQL END DECLARE SECTION; EXEC SQL INCLUDE sqlca; void sqlerror(); /* handles unrecoverable errors */ void connect(); main() { strcpy(username.arr, "SCOTT"); /* copy the username */ username.len = strlen(username.arr); strcpy(password.arr, "TIGER"); /* copy the password */ password.len = strlen(password.arr); EXEC SQL WHENEVER SQLERROR DO sqlerror(); EXEC SQL CONNECT :username IDENTIFIED BY :password; strcpy(tabname,"TEST_TAB"); strcpy(sqlstmt,"create table "); strcat(sqlstmt,tabname); strcat(sqlstmt," (aa number)"); EXEC SQL EXECUTE IMMEDIATE :sqlstmt; EXEC SQL COMMIT; EXEC SQL COMMIT WORK RELEASE; /* log off ORACLE */ exit(0); } void sqlerror() { EXEC SQL WHENEVER SQLERROR CONTINUE; printf("\nORACLE error detected:\n"); printf("\n% .70s \n", sqlca.sqlerrm.sqlerrmc); EXEC SQL ROLLBACK RELEASE; exit(1); } |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |