2019년 12월 25일 수요일

[AI 엔진] db 쿼리 추가 및 테스트 [C,I,U,D]



원문: https://blog.naver.com/ihaneter/221749959682
--> 지금까지 진행된 결과는 위 사이트에 게시되어 있습니다.
--> 이 내용은 AI 구현을 위해 Script Language의 개발 과정입니다.

안녕하세요 오타쟁이 한이터 백승기 입니다.
이제 부터는 DB 엔진을 이용해서 쿼리 테스트를 수행하고자 합니다.
​
첫번째작업 테이블이 완료 되었습니다.
쿼리 툴은 디비버(DBeaver)를 사용합니다.
1. Create, Insert, Update, delete의 기능을 테스트합니다.
​
void bsk_main() {
@sqla_init;
@sql_connect,/AI_PROJECT/AIxbsk/sqlite_db/test1.db;
@sqla+CREATE TABLE contacts(;
@sqla+ id1 INTEGER PRIMARY KEY,;
@sqla+ fname TEXT NOT NULL,;
@sqla+ lname TEXT NOT NULL,;
@sqla+ email TEXT NOT NULL UNIQUE,;
@sqla+ phone TEXT NOT NULL UNIQUE);
@sqla_run; //Create 테이블
@sqla_table, contacts ; // 테이블명 지정
@sqla_vars , id1, fname,lname,email,phone ; // 테이블변수 항목
@sqla_insert , '1', 'fname1', 'ln1', '1@1.com', '111-1111' ; //Insert 1
@sqla_insert , '2', 'fname2', 'ln2', '1@2.com', '222-1111' ; //Insert 2
@sqla_insert, '3', 'fname3', 'ln3', '1@3.com', '333-1111' ; //Insert 3
@sqla_delete, id1='3' ; //Delete
@sqla_where, id1='2' and phone='222-1111'; //Where
@sqla_update, fname='fname222',lname='lname222' ; //Update
@sqla_close;
};
​
// 위와 같이 쿼리문을 스크립트에 기능을 추가하고 적용해 보왔습니다.
// 쓰는 형식이나 문장구조는 전부 작업상의 신속성에 목표를 두었으므로
// 기존 스타일이 무엇이든지 고려하지 않습니다.
​
// ==> 실행 후 생성된 결과를 이미지로 캡쳐 했습니다.
// ==> 다음과 같이 DB 필드가 추가되고 수정되고 삭제되었습니다.
// ==> 다음의 스크립트문과 데이터를 조고 받는 Interface 차례입니다.
// ==> 실행 로그 입니다.
------- comfile_list -----------
​
make_split_src_1 src_list count = 1
func_name[0]=void bsk_main()
[00][00] [@sqla_init]
[00][01] [@sql_connect,/AI_PROJECT/AIxbsk/sqlite_db/test1.db]
[00][02] [@sqla+CREATE TABLE contacts(]
[00][03] [@sqla+ id1 INTEGER PRIMARY KEY,]
[00][04] [@sqla+ fname TEXT NOT NULL,]
[00][05] [@sqla+ lname TEXT NOT NULL,]
[00][06] [@sqla+ email TEXT NOT NULL UNIQUE,]
[00][07] [@sqla+ phone TEXT NOT NULL UNIQUE][)]
[00][08] [@sqla_run]
[00][09] [@sqla_table, contacts]
[00][10] [@sqla_vars , id1, fname,lname,email,phone]
[00][11] [@sqla_insert , '1', 'fname1', 'ln1', '1@1.com', '111-1111']
[00][12] [@sqla_insert , '2', 'fname2', 'ln2', '1@2.com', '222-1111']
[00][13] [@sqla_insert, '3', 'fname3', 'ln3', '1@3.com', '333-1111']
[00][14] [@sqla_delete, id1='3']
[00][15] [@sqla_where, id1='2' and phone='222-1111']
[00][16] [@sqla_update, fname='fname222',lname='lname222']
[00][17] [@sqla_close]
​
------- comfile_var -----------
​
​
------- run bsk_main ----------
​
[hi][INIT][sqla] [init][hi] db open or create SUCCESS /AI_PROJECT/AIxbsk/sqlite_db/test1.db
[sqla] [CREATE TABLE contacts(][]
[sqla] [ id1 INTEGER PRIMARY KEY,][]
[sqla] [ fname TEXT NOT NULL,][]
[sqla] [ lname TEXT NOT NULL,][]
[sqla] [ email TEXT NOT NULL UNIQUE,][]
[sqla] [ phone TEXT NOT NULL UNIQUE][)]
[sqla] [run][hi][EXEC] db_tbl_exec=CREATE TABLE contacts( id1 INTEGER PRIMARY KEY, fname TEXT NOT NULL, lname TEXT NOT NULL, email TEXT NOT NULL UNIQUE, phone TEXT NOT NULL UNIQUE);
*** sql_sqla_table [ contacts][]
*** sql_sqla_vars [ id1, fname,lname,email,phone][]
*** sql_sqla_insert [INSERT INTO contacts( id1, fname,lname,email,phone) values ( '1', 'fname1', 'ln1', '1@1.com', '111-1111')]
*** sql_sqla_insert [INSERT INTO contacts( id1, fname,lname,email,phone) values ( '2', 'fname2', 'ln2', '1@2.com', '222-1111')]
*** sql_sqla_insert [INSERT INTO contacts( id1, fname,lname,email,phone) values ( '3', 'fname3', 'ln3', '1@3.com', '333-1111')]
*** sql_sqla_delete [DELETE from contacts where id1='3']
*** sql_sqla_where [ id1='2' and phone='222-1111']
*** sql_sqla_update [UPDATE contacts set fname='fname222',lname='lname222' where id1='2' and phone='222-1111']
[hi] db_close
[sqla] [close]
G:\AI_PROJECT\cvtList\cvtList\x64\Debug\BskSuperPSR.exe(828 프로세스)이(가) 0 코드로 인해 종료되었습니다.
디버깅이 중지될 때 콘솔을 자동으로 닫으려면 [도구]->[옵션]->[디버깅]->[디버깅이 중지되면 자동으로 콘솔 닫기]를 사용하도 록 설정합니다.
이 창을 닫으려면 아무 키나 누르세요.
​

댓글 없음:

댓글 쓰기