본문 바로가기

My Categories

pl/sql exception Exception PL/SQL을 작성할때 예기치 않은 오류를 발생할경우 처리할수있는 구문 일반 개발언어의 exception , try catch 구문과 흡사하다. PL/SQL내에서 여러가지 복잡한 조건을 처리하다보면 생각하지 못했던 오류들이 발생할수있다. 또한 그런 오류가 발생했을때 사용자가 오류화면만 보고 아무것도 알지 못하는 상황이 발생하게 될수가 있기때문에 PL/SQL내부에서 작성자가 예상할수있는 부분을 예외처리를 통해서 그 예외가 발생했을때 무슨일이 있어도 어떠한 액션을 취하게끔 해주는 역할을 한다. 예를 들면 누군가 인터넷 뱅킹으로 100만원을 입금하고있다. 프로그램 내부에서는 어떤 입금관련 sql이 실행되고있다. (물론 이 sql은 pl/sql로 작성되어있다.) 그런데 예기치 못하게 내부에서 .. 더보기
merge into 프로그램을 개발하면 특정 테이블에 데이터를 넣거나 아니면 수정하거나 할일이 있다. 보통 개발을 하게되면 개발 언어로 해당 데이터가 있는지 없는지 확인(select 실행)을 하고 데이터가 있으면 수정 ( update 실행 ) 데이터가 없으면 삽입 ( insert 실행 ) 이런류의 작업을 주로 한다. 이 작업이 조금 개선이 되면 처음부터 데이터를 수정(update 실행)을 시도 하거나 삽입(insert 실행)을 시도한다. 그리고나서 그결과가 실패면 반대의 작업을 한다. 이런 작업을 프로그램상에서 select 문, update 문 , insert 문을 실행하는것보다. 한번에 해당 요청을 한번에 해서 오라클자체 내에서 처리하는것이 이득일것이라고 본다. 오라클에서는 merge 라는 기능으로 이러한 작업을 SQL문.. 더보기
composite data type , cursor PL/SQL (미리말하지만 ㅡ_ㅡ;; 전 글재주가 없습니다.) /**************************************************************************/ composite data type 기본적인 하나의 데이터 타입 ( 스칼라 데이터 타입 ) 1개이상의 데이터를 묶어서 만든 데이터 타입 ============ Record ============ * Record : 하나이상의 기본 자료형을 모아서 만든 사용자 정의 데이터 타입. (개발언어에서의 클래스 , type, 구조체와 비슷함) A. 기본구문 : Type type_name IS RECORD (column_name1, column_name2,column_name3 ... ); B. 예 : TYPE emp_.. 더보기
for update 다시한번말하지만~~~ 글재주제로입니다. 이세상에 존재하는 모든 데이터베이스는 무결성을 베이스로 해서 데이터베이스가 만들어진다.( 아니면 말고;;; ) 데이터는 한곳에 있는데 그 데이터를 여러사람들이 접근을 해야하고 그로인해서 발생할수있는 문제들로 인해서 LOCK이라는것이 생겼다. 뭐 각설하고 보통 TX,TM 여러가지 락들이 있는데 그중에서 사용자가 원하는 데이터를 락을 걸수는 없을라나? 구조를 보면 누군가 update를 하거나 delete를 하면 lock을 획득하고 다른사람이 그 데이터를 볼때 오라클이면 오라클만의 구조로 무결성을 유지하고, MSSQL이면 mssql에 맞는 구조로 무결성을 유지한다. 헌데 select 한 데이터를 락을 걸어야 할경우도 분명있다. 9i부터 새로 생긴기능인 for update.. 더보기
D. Cluster ware 설치. 각종 여러가지 설정후 오라클 계정으로 접속해서 새터미널로 root 계정으로 fdisk -l 하면 아직 format이 되지 않은 공유 디스크들이 보일것이다. [root@ocm1 ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 1912 15358108+ 83 Linux /dev/sda2 1913 2294 3068415 83 Linux /dev/sda3 2295 2610 2538270 82 Linux s.. 더보기
C. ClusterWare 설치를 위한 기본세팅 Oracle 10g 설치와 마찬가지로 기본적인 설정을 해준다. 1. /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 2. /etc/pam.d/login session required /lib/security/pam_limits.so 3. /etc/profile if [ $USER = "oracle" ]; then ulimit -u 16384 -n 65536 fi 4. # more /etc/sysctl.conf kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 .. 더보기
B. Host File. SSH. Host 파일수정및 기본 SSH설정준비. 1. vi /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.0.221 ocm1.oracle.com ocm1 192.168.1.221 ocm1-priv.oracle.com ocm1-priv 192.168.2.221 ocm1-vip.oracle.com ocm1-vip 192.168.0.222 ocm2.oracle.com ocm2 192.168.1.222 ocm2-priv.oracle.com ocm2-priv 192.168.2.222 ocm2-vip.oracle.com ocm2-vip 위의 호스트파일을 양쪽 서버에 입력후 저장. 이제부터 Node 1 192.168.0.221 ocm1.oracle.com ocm1 더보기
My NetBook S10-3s And Upgrade ======== 넷북 메모리와 SSD 업그레이드 하기 ======== 1. 뒷면 베터리제거 2. 눈에 보이는 나사들제거. 3. 베터리 끼는부분에 나사를 뺀곳에 네모난 구멍에 막대기같은것으로 밀어주면 키보드가 들린다. 4.키보드 제거시작~ 5. 케이블로 연결된 키보드 제거. 6. 키보드 제거후 또 보이는 나사들 제거. 7. 잘 들려지는 부분부터 살짝 살짝 열어주기~~ 무조건 힘주면.......안되요... 8. 1자드라이버등으로 홈을 살짝 벌려준다는 생각으로 쭉 밀어주기. 가장 난이도가 있는 부분. ( 휴대폰A/S 해본분은 알겠지만 그 얇은 주걱있으면 쵝오~) 9. 커버를 열면 아래와 같은모습. 더보기
datagrid 안에 checkbox 등 넣기. => datagrid => dgCheckBox.mxml 안에 작업 참고사항 체크박스의 데이터를 변경시키면 datagrid에 값을 넣어준다. datagrid 에 데이터가 많아지면 스크롤할때 데이터가 초기화 되는 현상발생 참고할것. 이부분은 datagrid 에 넣은 데이터를 다시 가져와서 적용시켜주는 부분을 추가. 더보기
dataGrid 안에 checkBox import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; import fl.events.ListEvent; import fl.controls.Button; var colChecked:DataGridColumn = _rootMain.accountList.columns[0]; colChecked.cellRenderer = CheckCellClass; (그리드 컨트롤의 컬럼을 DataGridColumn 으로 인식시킨후 cellRenderer 로 클래스 통째로 적용. CheckCellClass class package { import fl.controls.CheckBox; import fl.controls.listClasses.. 더보기