2013년 12월 19일 목요일

No operations allowed after connection closed 오류 해결

com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was ? milliseconds ago. The last packet sent successfully to the server was ? milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:


Java(Spring)  + MySQL 환경에서 이런 식의 오류가 발생하는 경우가 있다.

원인 Exception을 따져보면 
MySQL DB 커넥션(세션)이 너무 오랫동안 미 사용이라서 커넥션이 강제 해제 당했다고 인식하면 되겠다.
(네크워크가 끈기는 경우도 있으나, 이럴 경우는 에러 메세지가 다르다) 궁극적으로 MySQL 설정에 따른 오류가 발생한 것이라고 인식하면 된다 (WAS DataSource, JDBC 드라이버, MySQL 서버 문제나 오류는 아니다.)
MySQL 기본 설정은 8(28800)시간동안 DB 연결이 없을 경우에는 세션을 해제하도록 되어있다.

그러면서 mysql-jdbc 설정에서 autoReconnect=true 를 설정하라고 되어있다.

MySQL 관련 문서 링크
http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html

잡설은 이정도로 하고 해결방안을 알아보면 3가지 방법 정도가 있겠다.

1. MySQL wait_timeout 값을 올린다.
   MySQL console 에서 Set GLOBAL wait_timeout = 숫자; 로 설정하거나, /etc/my.cnf 파일을 수정하면 된다.

2. JDBC 커넥션 설정 시 autoReconnect옵션을 활성화 시킨다.
    jdbc:mysql://ip:port/dbname?autoReconnect=true
   위 처럼 jdbc URL을 수정하면 된다.

3. JDBC 커넥션 설정 시 주기적으로 더미 SQL 조회 쿼리를 날린다. (validationQuery)
    WAS가 톰켓일 경우에는 DataSource 설정 시에 톰켓에서 제공하는 옵션을 이용하면 되겠다.
   /META-INF/context.xml 이나 %톰켓홈경로%conf/server.xml 에서 DataSource resource를 설정시..

<Resource name="jdbc/mysql_dbcp_pool"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    loginTimeout="100"
    maxActive="100"
    maxIdle="30"
    maxWait="50000"
    username="nonsan"
    password="nonsan12"
    validationQuery="SELECT 1"

이런 식으로 설정하면 되겠다. 옵션에 대한 자세한 문서는 하단 참조

validationQuery는 유효한 쿼리인데 유효 커넥션을 유지하기 위해 더미 SQL을 날리는 옵션이다. 더 자세한 내용은 꼭 하단 문서를 참조해야한다.
manual : http://commons.apache.org/proper/commons-dbcp/configuration.html


1. 의 경우에는 근본적인 해결은 아니라고 볼 수 있고

2. 의 경우에는 Transation 관련해서 버그가 있어서 제공벤더에서도 deprecated 된 상태이다. 만약 이 방법을 사용할려면 사용자 정의 트랜젝션 처리를 해야하는 것은 당연하다. 치명적인 데이터 일관성 문제가 생길수 도 있기 때문이다. (deprecated 된 것은 다 이유가 있다.)
참조 : http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html

3. 의 경우는 괜찮은 솔루션 이지만 commons-dbcp를 사용하지 않으면 다른 대안을 찾아야한다. 알아본 결과 타 DBCP 에서도 비슷한 옵션을 제공하고 있으니 꼭 메뉴얼 문서를 참조해보자. 단 대처가 없을 경우에는  2.를 사용하던지 아니면 사용하는 DBCP(DataSource)를 commons-dbcp로 수정해야 할 것이다.








2013년 9월 12일 목요일

의약품등 분류번호(의약품 분류표) DB Query insert 문

의약품등 분류번호

관련한 문서는 존재하나 insert.sql이 서치를 해도 나오질 않아서 이렇게 올립니다.


첨부파일로 올릴수도 없으니 그냥 아래에 복붙



INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('100',null,'신경계 감각기관용 의약품',null,1 );
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('110','100','중추신경계용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('111','110','전신마취제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('112','110','최면진정제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('113','110','항전간제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('114','110','해열, 진통, 소염제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('115','110','각성제, 흥분제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('116','110','진훈제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('117','110','정신신경용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('119','110','기타의 중추신경용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('120','100','말초신경계용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('121','120','국소마취제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('122','120','골격근이완제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('123','120','자율신경계',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('124','120','진경제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('125','120','발한제, 지한제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('129','120','기타의 말초신경용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('130','100','감각기관용약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('131','130','안과용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('132','130','이과용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('139','130','기타의 감각기관용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('140','100','알레르기용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('141','140','항히스타민제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('142','140','자격료법제','특이성 면역원제포함',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('149','140','기타의 알레르기용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('190','100','기타의 신경계 및 감각기관용의 약품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('200',null,'개개의 기관계용 의약품',null,1);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('210','200','순환계용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('211','210','강심제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('212','210','부정맥용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('213','210','이뇨제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('214','210','혈압강하제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('215','210','혈관보강제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('216','210','혈관수축제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('217','210','혈관확장제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('218','210','동맥경화용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('219','210','기타의 순환계용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('220','200','호흡기관용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('221','220','호흡촉진제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('222','220','진해거담제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('223','220','함소흡입제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('229','220','기타의 호흡기관용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('230','200','소화기관용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('231','230','치과구강용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('232','230','소화성궤양용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('233','230','건위소화제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('234','230','제산제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('235','230','최토제, 진토제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('236','230','이담제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('237','230','정장제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('238','230','하제, 완장제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('239','230','기타의 소화기관용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('240','200','호르몬제','항호르몬제를 포함',2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('241','240','뇌하수체호르몬제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('242','240','수액신호르몬제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('243','240','갑상선, 부갑상선호르몬제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('244','240','단백동화스테로이드제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('245','240','부신호르몬제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('246','240','남성호르몬제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('247','240','난포호르몬제 및 황체호르몬제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('248','240','혼합호르몬제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('249','240','기타의 호르몬제','항호르몬제를 포함',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('250','200','비뇨생식기관 및 항문용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('251','250','요로소독제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('252','250','자궁수죽체',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('253','250','통경제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('254','250','피임제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('255','250','비뇨생식기관용제','성병예방제포함',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('256','250','치질용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('259','250','기타의 비뇨생식기관 및 항문용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('260','200','외피용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('261','260','외피용살균소독제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('262','260','창상보호제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('263','260','화농성질환용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('264','260','진통, 진양, 수렴, 소염제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('265','260','기생성 피부질환제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('266','260','피부 연화제','부식제를 포함',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('267','260','모발용제','발모, 탈모, 염모, 양모제',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('268','260','욕제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('269','260','기타의 외피용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('290','200','기타의 개개의 기관용 의약품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('300',null,'대상성 의약품',null,1);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('310','300','비타민제',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('311','310','비타민A 및 D제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('312','310','비타민B₁제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('313','310','비타민B제','비타민B₁제를 제외',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('314','310','비타민C 및 P제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('315','310','비타민E 및 K제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('316','310','혼합비타민제(비타민A,D 혼합제를 제외)',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('319','310','기타의 비타민제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('320','300','자양강장변질제',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('321','320','칼슘제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('322','320','무기질제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('323','320','당류제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('324','320','유기산제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('325','320','단백아미노산제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('326','320','장기제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('327','320','유유아용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('329','320','기타의 자양강장변질제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('330','300','혈액 및 체액용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('331','330','혈액대용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('332','330','지혈제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('333','330','혈액응고저지제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('339','330','기타의 혈액 및 체액용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('340','300','인공관류용제',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('341','340','인공신장관류용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('349','340','기타의 인공과류용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('390','300','기타의 대사성 의약품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('391','390','간장질환용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('392','390','해독제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('393','390','습관성중독용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('394','390','통풍치료제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('395','390','효소제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('396','390','당뇨병용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('398','390','종합새사성제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('399','390','따로 분류되지 않는 대사성 의약품',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('400',null,'조직세포의 기능용 의약품',null,1);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('410','400','조직부활용약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('411','410','클로로필제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('412','410','색소제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('419','410','기타의 세포부활용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('420','400','종양욕약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('421','420','항악성종양제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('429','420','기타의 종양치료제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('430','400','조직세포의 치로 및 진단 목적',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('431','430','방사성 의약품',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('439','430','기타의 조직세포의 치료 및 진단',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('490','400','기타의 조직세포의 기능용 의약품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('600',null,'항병원생물성 의약품',null,1);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('610','600','항생물질제제',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('611','610','주로 그람양성균에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('612','610','주로 그람음성균에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('613','610','주로 항간성균에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('614','610','주로 그람양성균, 리케치아, 비루스에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('615','610','주로 그람양성, 음성균, 리케치아, 비루스에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('616','610','주로 곰팡이, 원중에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('617','610','주로 악성종양에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('618','610','주로 그람양성, 음성균에 작용하는 것',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('619','610','기타의 항생물질 제제','복합항생물질제제를 포함',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('620','600','화학료법제',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('621','620','설화제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('622','620','항결핵제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('623','620','치나제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('624','620','구매제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('625','620','후란계 제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('629','620','기타의 화학료법제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('630','600','생물학적 제제',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('631','630','백신류',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('632','630','독소류 및 톡소이드류',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('633','630','항독소 및 렙토스피라혈청류',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('634','630','혈액제제류',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('635','630','생물학적 시험용제제류',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('636','630','생물학적 제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('639','630','기타의 생물학적 제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('640','600','기생동물에 대한 의약품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('641','640','항원충제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('642','640','구충제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('649','640','기타의 기생동물에 대한 의약품',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('690','600','기타의 병원생물에 대한 의약품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('700',null,'치료를 주목적으로 하지 않는 의약품 및 관련제품',null,1);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('710','700','조제용약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('711','710','부형제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('712','710','연고기제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('713','710','용해제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('714','710','교미교취착색제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('715','710','유화제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('719','710','기타의 조제용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('720','700','진단용 약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('721','720','X선조양제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('722','720','일반검사용 시약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('723','720','혈액검사용 시약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('724','720','생화학적 검사용 시약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('725','720','면역혈청학적 검사용 시약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('726','720','세균학적 검사용제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('727','720','병리조직검사용 시약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('728','720','기능검사용 시약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('729','720','기타의 진단용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('730','700','공중위생용약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('731','730','방부제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('732','730','방영욕 살균소독제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('733','730','방충제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('734','730','살충제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('739','730','기타의 공중위생용 약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('740','700','관련제품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('741','740','캅셀류',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('790','700','기타의 치료를 주목적으로 하지 않는 의약품',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('791','790','반창고',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('799','790','따로 분류되지 않고 치료를 주목적으로 하지 않는 의약품',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('800',null,'마약',null,1);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('810','800','알카로이드 마약','천연',2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('811','810','아편알카로이드계 제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('812','810','코카알카로이드계 제제',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('819','810','기타의 알카로이드계 마약','천연마약',3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('820','800','비알카로이드계 마약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('821','820','합성마약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('829','820','기타의 비알카로이드계 마약',null,3);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('890','800','기타의 마약',null,2);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('900',null,'위생응품',null,1);
INSERT INTO drugs_db_types(code, upper_code, name, etc, depth)VALUES('1100',null,'의료용구',null,1);