PowerPoint 프레젠테이션

Size: px
Start display at page:

Download "PowerPoint 프레젠테이션"

Transcription

1 U N I T 24 스토어드프로그램 이장에서는 DB2가제공하는 Stored Function 및 Stored Procedure, Trigger 을통한 Application Logic 작성에대한내용을소개합니다. 441

2 DB2 9.7 개발자가이드 Developer Edition Stored Program IBM Data Studio Developer를통해 Stored Program 생성 IBM Data Studio Developer를통해 UDF 생성 IBM Data Studio Developer를통해 UDF 생성 - 예 IBM Data Studio Developer를통해 Table UDF 생성 Stored Procedure 작성 Trigger 작성모듈 (Module) 작성 442

3 Stored Program Stored Program 은 UDF, Trigger, Stored Procedure 등의작성을통하여 DBMS 내에응용프로그램로직을저장하고동작하도록하는기능입니다. 1 Stored Program 은 DBMS Application Object 를사용함으로써응용프로그램코드의단순화, 성능개선, 코드의재사용향상및이식성을증대할수있습니다. Tip Data Studio Developer는 9.7에서는 Optim Development Studio로변경되었습니다. 2 3 일반적은 Editor 를이용하여작성및생성할수있습니다. 그러나 IBM Data Studio Developer 를사용하면프로그램디버깅이가능하여, 작성시매우편리합니다. Data Studio Developer 시작방법은아래와같습니다. Windows 에서 시작 프로그램 IBM Software Development Platform IBM Data Studio Developer IBM Data Studio Developer 를수행합니다. 443 DB2 9.7 개발자가이드

4 02 Stored Program 생성 IBM Data Studio Developer 실행하여 Stored Program 을생성하는절차를소개합니다. 1 데이터베이스애연결합니다. IBM 에서 연결 새연결 를실행합니다. 연결하려는 DB 이름과호스트및포트번호를그림과기술합니다. Tip 각프로젝트는 DB connecti on 이필요합니다. Figure 2402A 데이터베이스연결 Figure 2402B 데이터개발프로젝트를실행 UNIT 24 스토어드프로그램 444

5 02 Stored Program 생성 IBM Data Studio Developer 실행하여 Stored Program 을생성하는절차를소개합니다. Tip 연결테스트 가성공하면다음과같은팝업이뜹니다. 2 스토어드프로시저작성을선택합니다. 데이터개발프로젝트에서스토어드프로시저에서새로작성을실행합니다. 이름과언어및개발하려는상황에맞게설정후다음버튼을클릭합니다. Figure 2402C IBM Data Studio Developer 스토어드프로시저작성 Figure 2402D IBM Data Studio Developer 스토어드프로시저작성 445 DB2 9.7 개발자가이드

6 02 Stored Program 생성 IBM Data Studio Developer 실행하여 Stored Program 을생성하는절차를소개합니다. 3 SQL 작성을클릭하여스토어드프로시저를작성합니다. Figure 2402E IBM Data Studio Developer 스토어드프로시저작성 UNIT 24 스토어드프로그램 446

7 UDF 생성 IBM Data Studio Developer 를실행하여 User-Defined Function (UDF) 을작성하는방법입니다. Tip SQL UDF를단순한과정을거쳐생성합니다. 다음예는세금을계산하는간단한 TAX function을생성합니다. 1 UDF 생성하기 Figure 24A IBM Data Studio Developer UDF 새로작성 -1 다음그림에서완료버튼을클릭하고아래와같이내용을수정합니다. Figure 24B IBM Data Studio Developer UDF 새로작성 DB2 9.7 개발자가이드

8 UDF 생성 IBM Data Studio Developer 를실행하여 User-Defined Function (UDF) 을작성하는방법입니다. Tip CREATE FUNCTION 다음에는함수이름이반드시기술되어야하며, 괄호내부에매개변수와데이터타입을여러개지정할수있습니다. 2 UDF 의필수구문및선택구문구성 CREATE FUNCTION 문장은몇가지필수구문및선택구문으로구성됩니다. 예제에서는 p_amount DECIMAL(9,2) 하나의 Parameter 를정의하였습니다. Parameter p_amount 는판매금액을나타냅니다. Application 에서함수를 call 하면, 함수는판매금액에대한세금을반환합니다. RETURN 구문은 DECIMAL(9,2) 반환을기술합니다. 함수본문은 BEGIN ATOMIC END SQL block 내부에기술합니다. 함수는다음한문장을기술합니다. IBM Data Studio Developer 에서 전개 버튼을눌러실행합니다. Figure 24C IBM Data Studio Developer 새로작성 - 매개변수지정 위와같이. 입력변수 p_amount 에대한입력창이팝업됩니다. 임의의값을입력하고 확인 버튼을눌러실행합니다. 함수가성공적으로수행되면, 다음과같이표시됩니다. Figure 24D IBM Data Studio Developer UDF 새로작성 - 출력보기 UNIT 24 스토어드프로그램 448

9 UDF 생성 IBM Data Studio Developer 를실행하여 User-Defined Function (UDF) 을작성하는방법입니다. 빠른실행을위해, 명령창에서다음과같이 Query 를수행합니다. SELECT product_id, retail_price, KJINST1.TAX(retail_price) AS tax FROM KJINST1.product; Figure 24E IBM Data Studio Developer UDF 새로작성 - 출력보기 Tip TAX 함수의 Qualifier에유의하세요. 함수앞의스키마를제거하기위해서는 DB2 CURRENT PATH 를수정하세요. 이는 PATH와같은환경변수역할을합니다. DB2 세션에서함수에대한경로를결정하는데사용됩니다. 명령창에서다음 Query 을통해 current path 를확인할수있습니다. VALUES CURRENT PATH; 만일 db2admin 계정을 DB 에 Connect 하면, 다음과같이결과가표시됩니다. "SYSIBM","SYSFUN","SYSPROC", DB2ADMIN" 결과에서보듯이, CURRENT PATH 는스키마리스트입니다. 뒤이어, 접속사용자스키마가붙습니다. 함수이름앞에스키마가정의되어있지않으면, CURRENT PATH 에따라함수를결정합니다. 스키마순서에따라, 실행할함수를검색하게됩니다. CURRENT PATH 를변경하기위해, SET CURRENT PATH 를사용합니다. SET CURRENT PATH = CURRENT PATH,"KJINST1" VALUES CURRENT PATH "SYSIBM","SYSFUN","SYSPROC","DB2ADMIN","KJINST1" SET CURRENT PATH = SYSTEM PATH,"KJINST1" VALUES CURRENT PATH "SYSIBM","SYSFUN","SYSPROC","KJINST1" DB2 9.7 개발자가이드

10 UDF 생성 IBM Data Studio Developer 를실행하여 User-Defined Function (UDF) 을작성하는방법입니다. Tip 디폴트 SQL 경로 ( 또는사용자스키마앞에 SYSIBM이있는 SQL 경로 ) 를사용하고스키마에새 SYSIBM 함수와이름이같은기존함수가있는경우, SYSIBM 함수가대신사용됩니다. 이상황은일반적으로성능을향상시키지만예기치않은동작의원인이될수있습니다. SET CURRENT PATH = USER,"KJINST1" VALUES CURRENT PATH "DB2ADMIN","KJINST1" 3 SET CURRENT PATH = "DB2ADMIN","SYSIBM","SYSFUN","SYSPROC","KJINST1" VALUES CURRENT PATH "DB2ADMIN","SYSIBM","SYSFUN","SYSPROC","KJINST1" CURRENT PATH 에스키마 KJINST1 를추가합니다. CURRENT PATH 를 SYSTEM PATH 와 KJINST1 로변경합니다. 현재의 USER ID 와 KJINST1 를포함하여 CURRENT PATH 를변경합니다. CURRENT PATH 에모든 SCHMA 를기술하여적용합니다. UNIT 24 스토어드프로그램 450

11 04 UDF 생성 - 예 IBM Data Studio Developer 를실행하여 UDF 를작성하는예제입니다. 1 복잡한 Query 실행하기 다음은특정기간동안에판매금액에대한이익률을계산하는 UDF 를작성합니다. 해당정보가다음과같이세개의 Table 에분산되어있습니다. 1) PRODUCT_PURCHASE : 각제품별판매가격정보 2) PRODUCT : 제품별비용 3) SALES : 판매에대한일자 / 시간관리정보 특정기간동안의이익률을계산하려면, 매번세개의 Table 을 Join 하여야합니다. 이를단순화하기위하여, PRODUCT ID, 시작일자및종료일자를입력파라미터를갖는 UDF 를작성합니다. Table Layout CREATE TABLE KJINST1.PRODUCT ( PRODUCT_ID INT NOT NULL, DESCRIPTION VARCHAR(40) NOT NULL, COST DECIMAL(7,2) NOT NULL, RETAIL_PRICE DECIMAL(7,2) NOT NULL, INVENTORY INT NOT NULL, MINIMUM_INVENTORY INT NOT NULL WITH DEFAULT 0, PRIMARY KEY (PRODUCT_ID) ); CREATE TABLE KJINST1.CUSTOMER ( CUSTOMER_ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 0 INCREMENT BY 1), CREDIT_CARD CHAR(16), EXPIRY_DATE CHAR(4), LASTNAME VARCHAR(28), FIRSTNAME VARCHAR(28), ADDRESS VARCHAR(300), ZIP_CODE CHAR(6), PHONE CHAR(10), PRIMARY KEY (CUSTOMER_ID) ); CREATE TABLE KJINST1.SALES ( SALES_TRANSACTION_ID INT GENERATED ALWAYS AS IDENTITY (START WITH 0 INCREMENT BY 1), CUSTOMER_ID INT REFERENCES KJINST1.CUSTOMER(CUSTOMER_ID), SUB_TOTAL DECIMAL(7,2), TAX DECIMAL(7,2), TYPE INT NOT NULL, TRANSACTION_TIMESTAMP TIMESTAMP, PRIMARY KEY (SALES_TRANSACTION_ID) ); 451 DB2 9.7 개발자가이드

12 04 UDF 생성 - 예 IBM Data Studio Developer 를실행하여 UDF 를작성하는예제입니다. CREATE TABLE KJINST1.PRODUCT_PURCHASES ( SALES_TRANSACTION_ID INT REFERENCES KJINST1.SALES(SALES_TRANSACTION_ID) ON DELETE CASCADE, PRODUCT_ID INT REFERENCES KJINST1.PRODUCT(PRODUCT_ID), PRICE DECIMAL(7,2) NOT NULL, QTY INT NOT NULL ); CREATE TABLE KJINST1.AUDIT_STOCKJINST1HK ( STAFF VARCHAR(50), CHECKTIME TIMESTAMP ); PROD_PROFIT UDF 생성하기 CREATE FUNCTION KJINST1.PROD_PROFIT ( p_pid INTEGER, p_sdate DATE, p_edate DATE ) RETURNS DECIMAL(9,2) SQL UDF (Scalar) F1: BEGIN ATOMIC DECLARE v_retail_price DECIMAL(9,2); DECLARE v_cost DECIMAL(9,2); DECLARE v_err VARCHAR(70); SET (v_retail_price, v_cost) = ( SELECT SUM(retail_price), SUM(cost) FROM KJINST1.product p, KJINST1.product_purchases pp, KJINST1.sales s WHERE p.product_id = pp.product_id AND pp.sales_transaction_id = s.sales_transaction_id AND p.product_id = p_pid AND DATE(s.transaction_timestamp) BETWEEN p_sdate AND p_edate ); SET v_err = 'Error: product ID ' CHAR(p_pid) ' was not found.'; IF ( v_retail_price IS NULL OR v_cost IS NULL ) THEN SIGNAL SQLSTATE '80000' SET MESSAGE_TEXT = v_err; END IF; RETURN ( v_retail_price - v_cost ) / v_cost * 100; END UNIT 24 스토어드프로그램 452

13 04 UDF 생성 - 예 IBM Data Studio Developer 를실행하여 UDF 를작성하는예제입니다. 1) UDF KJINST1.PROD_PROFIT 를생성합니다. 2) PROD_PROFIT에세개의 INPUT Parameter를지정합니다. p_pid : Product ID p_sdate : 시작일자조건 p_edate : 종료일자조건 3) DECIMAL(9,2) 형태의이익률을반환합니다. 4) UDF KJINST1.TAX 는단문으로이루어진함수입니다. PROD_PROFIT 처럼복문으로구성된 UDF 는 BEGIN ATOMIC(4) 와 END(11) 사이에함수 Logic 을기술합니다. 5) 함수내에서사용될변수를기술합니다. v_retail_price : 판매금액 v_cost : 판매비용 v_err : PRODUCT ID가없을경우의 Error Message 6) PRODUCT, PRODUCT_PURCHASES와 SALES를 Join하여판매금액과비용을산 정한다. SET 문장을통해값을변수에 Assign한다. 7) SALES Table 의 transaction_timestamp 가 TIMESTAMP 형태로저장되어있습니다. 이를 p_sdate, p_edate 와비교하기위하여 DATE() 함수를사용하여 DATE 값으로변환한다. 8) PRODUCT ID 가없을경우 Error Message 를생성합니다. 9) 만일, PRODUCT ID 가없을경우, UDF 는 Error 를발생한다. 이후, Function 수행을종료하고, 호출한 Application 에 Error 를반환한다. v_err 를 VARCHAR(70) 으로정의하였습니다. SIGNAL SQLSTATE 의 error text 의한계가 70 자입니다. 만일, Message 가한계를초과하면, 경고없이절삭됩니다. 10) 판매금액과비용을통해이익률을계산하여반환합니다. IBM Data Studio Developer 를통해빌드후, 실행합니다. Figure 2404A IBM Data Studio Developer UDF 실행하기 DB2 9.7 개발자가이드

14 04 UDF 생성 - 예 IBM Data Studio Developer 를실행하여 UDF 를작성하는예제입니다. Tip SP를명령창에서실행하고자할때는아래와같은방법으로사용합니다. >db2 call KJINST1.PROD_PROFIT (111, , ) PROD_PROFIT 를실행 Figure 2404B IBM Data Studio Developer UDF 실행하기 -2 실행결과화면 & 잘못된 Product ID 를입력했을때의화면 Figure 2404C IBM Data Studio Developer UDF 실행하기 -2 UNIT 24 스토어드프로그램 454

15 05 Table UDF 작성 IBM Data Studio Developer 를실행하여 Table UDF 를작성하는예제입니다. 1 Table UDF Query 의 FROM 절에서사용되며, Table 형 xo 의 Row 를반환합니다. 다음은입고가필요한모든 PRODUCT 를반환하는 Table 함수입니다. 누가, 언제 STOCK 를점검했는지 LOG 을위해 AUDIT_STOCKCHK Table 을사용합니다. STOCKCHK UDF 생성하기 CREATE FUNCTION KJINST1..STOCKCHK() RETURNS TABLE ( PRODUCT_ID INTEGER, DESCRIPTION VARCHAR(40), INVENTORY INTEGER, MINIMUM_INVENTORY INTEGER ) MODIFIES SQL DATA SQL UDF (TABLE) F1: BEGIN ATOMIC INSERT INTO KJINST1.AUDIT_STOCKCHK VALUES (USER, CURRENT TIMESTAMP); END RETURN SELECT PRODUCT_ID, DESCRIPTION, INVENTORY, MINIMUM_INVENTORY FROM KJINST1.PRODUCT WHERE INVENTORY < MINIMUM_INVENTORY; 1) UDF KJINST1.STOCCHK를입력 Parameter없이생성합니다. 2) RETURN절에 Table function이반환할 Column과 Type을정의합니다. 3) Table function은기본적으로실행위주로수행됩니다. MODIFIES SQL DATA 를기술하여, Function내에서 INSERT, UPDATE 및 DLETE를할수있도록합니다. 4) 누가 Call을했는지를관리하기위해, AUDIT_STOCKCHK Table에데이터를입력합니다. Special Register USER : DB에접속한 current user ID CURRENT TIMESTAMP : 현재시간 455 DB2 9.7 개발자가이드

16 05 Table UDF 작성 IBM Data Studio Developer 를실행하여 Table UDF 를작성하는예제입니다. Figure 2405A IBM Data Studio Developer Table UDF STOCKCHK UDF 수행 SELECT * FROM TABLE (KJINST1.STOCKCHK()) AS STOCKCHK; Figure 2405B IBM Data Studio Developer Table UDF UNIT 24 스토어드프로그램 456

17 06 Stored Procedure 작성 IBM Data Studio Developer 를실행하여 Stored Procedure 를생성하는예입니다. 1 Stored Procedure 이해하기 SP 는 DB 내의데이터를 Access 하거나수정하는하나이상의 SQL 문장으로구성된 DB Object 입니다. SP 는 DB2 의제어하에수행되고관리됩니다. SP 는 SQL PL, C/C++, Java, COBOL, CLR 및 OLE 를사용하여작성됩니다. SQL Procedure 가간단하기때문에주로사용됩니다. SQL Stored Procedure 의장점 Code 의재사용을통한 Business Logic 통합 보안 Level 강화 성능개선 SP 는 DB 에저장되며, SQL 문장과 Business Logic 을 encapsulate 합니다. 적절한권한을가진모든 Application Client 에서 SP 를호출할수있습니다. 또한 Code 의재사용률을증대합니다. 또한, SP 내의 Business Logic 변경이관련된모든 Application 또는 Client 와독립적이므로관리비용을절감할수있습니다. 사용자는 SP 를통해 Access 하는 Table 또는 View 에대해권한이필요치않습니다. 다만 SP 를호출할수있는권한만있으면됩니다. 이를통해, 사용자의예상치않은접근에대한통제를할수있습니다. SP 는 DBMS 내에 SQL 과 Business Logic 을가지고수행합니다. 즉, Application 과 DB 사이의 N/W Traffic 을줄일수있습니다. 또한성능을위해 SQL 이컴파일됩니다. Tip Table에 Column을추가하기위해, ALTER TABLE 문장을사용하거나제어센터 ( Control Center ) 를사용할수있습니다. 2 Stored Procedure 개발하기 다음은 SP 를통해할수있는몇가지예를소개합니다. 이를위해 DB 내의 table 을변경합니다. 예제에서는, Internet On-Line 주문을위한 Web site 를 SP 를소개합니다. On-Line 주문을위해, SALES 와 PRODUCT_PURCHASES table 을 POS (-of- Sale) 시스템과같이변경합니다. 주문상태를관리하기위해, Column 을추가합니다. SALES Table 의 ORDER_STATUS column : Column 에 Check Constraints ( N, C, P & I ) 를추가합니다. - N : New Order - C : 주문완료 - P : 부분적주문완료 - I : 고객정보부족 PRODCUT_PURCHASES Table 의 STATUS column : Column 에 Check Constraints ( N, C & O ) 를추가합니다. - N : New Order - C : 주문완료 - O : 재고부족 457 DB2 9.7 개발자가이드

18 06 Stored Procedure 작성 IBM Data Studio Developer 를실행하여 Stored Procedure 를생성하는예입니다. Stored procedure (SP) 생성 다음은새로운계약에관해정보를조회하는 SP 를 IBM Data Studio Developer 를통해생성하는과정을보여줍니다. Figure 2406A IBM Data Studio Developer 에서 SP 구현하기 -1 Procedure PROCEDD_NEWORDER 를 Parameter 없이정의합니다. Procedure 본문은 BEGIN 과 END 블록사이에기술합니다. 다음의 Query 결과를처리하기위해 FOR loop 를정의합니다. FOR Loop 내에, 새로운주문에대한처리를위해 Business Logic 을기술합니다. SELECT SALES_TRANSACTION_ID, CUSTOMER_ID FROM SALES WHERE ORDER_STATUS = 'N' Stored Procedure PROCESS_NEW 생성 Figure 2406B IBM Data Studio Developer 에서 SP 구현하기 -2 IBM Data Studio Developer 에서 PROCESS_NEW 를 Build 합니다. UNIT 24 스토어드프로그램 458

19 06 Stored Procedure 작성 IBM Data Studio Developer 를실행하여 Stored Procedure 를생성하는예입니다. 이제까지, 단순 SP 를생성하는과정을살펴보았습니다. 예제에서는단순한 SP 를작성하였습니다. 다음은 stored procedure 의강력한기능을통해새로운 SP 를전개합니다. PROCESS_NEWORDER 에서 Web application 에입력한새로운주문을처리합니다. 이제까지는새로운주문을검색하는 Logic 을작성하였습니다. FOR loop 내의각주문에다음과같은처리를합니다. - 제품을주문한고객정보를점검합니다. - 만일고객의주소나신용카드정도가불충분하면처리하지않습니다. - 검증된주문은처리를계속합니다. 수정된 KJINST1.PROCESS_NEWORDER CREATE PROCEDURE KJINST1.PROCESS_NEWORDER() SQL STORED PROCEDURE P1: BEGIN DECLARE V_ORDERNO INTEGER; DECLARE V_CUSTID INTEGER; DECLARE V_CREDITCARD CHAR(16); DECLARE V_EXPIRYDATE CHAR(4); DECLARE V_ADDRESS VARCHAR(300); DECLARE V_ERR VARCHAR(70); FOR C1 AS SELECT SALES_TRANSACTION_ID, CUSTOMER_ID FROM KJINST1.SALES WHERE ORDER_STATUS = 'N' DO SELECT CREDIT_CARD, EXPIRY_DATE, ADDRESS INTO V_CREDITCARD, V_EXPIRYDATE, V_ADDRESS FROM KJINST1.CUSTOMER WHERE CUSTOMER_ID = C1.CUSTOMER_ID; IF (V_CREDITCARD IS NULL AND V_EXPIRYDATE IS NULL) OR (V_ADDRESS IS NULL) THEN SET V_ERR = 'THE CUSTOMER INFORMATION IS' ' NOT COMPLETE TO PROCESS THE ORDER NO ' CHAR(V_ORDERNO); SIGNAL SQLSTATE'80000' SET MESSAGE_TEXT = V_ERR; 4 END IF; --CALL ANOTHER SP TO PROCESS THE VALID ORDERS SET V_ORDERNO = C1.SALES_TRANSACTION_ID; CALL KJINST1.FILLORDER(V_ORDERNO, V_CUSTID); 5 END P1 END FOR; 459 DB2 9.7 개발자가이드

20 06 Stored Procedure 작성 IBM Data Studio Developer 를실행하여 Stored Procedure 를생성하는예입니다. 1) Query 결과를처리하기위한 FOR Loop 정의 2) 고객정보에해당하는카드정보및주소확인하는 Process 3) 고객정보의정합성점검 4) 필요한정보가부적하면 Error 처리 : SQLSTATE ) 주문번호및고객정보를입력변수로 SP FILLORDER 를 CALL 힙니다. 수정된 KJINST1.PROCESS_NEWORDER CREATE PROCEDURE KJINST1.FILLORDER ( IN V_SALESTXNID INTEGER, IN V_CUSTID INTEGER ) SQL STORED PROCEDURE P1: BEGIN -- DECLARE VARIABLES DECLARE V_PRODID INTEGER; DECLARE V_QTY INTEGER; DECLARE V_INVENTORY INTEGER; DECLARE V_PRICE DECIMAL(5,2); DECLARE V_TOTALCOUNT INTEGER DEFAULT 0; DECLARE V_COUNT INTEGER DEFAULT 0; DECLARE V_LASTPRODUCT INTEGER DEFAULT 0; DECLARE V_ERR VARCHAR(70); -- DECLARE CURSORS DECLARE C1 CURSOR WITH HOLD FOR SELECT PP.PRODUCT_ID, RETAIL_PRICE, QTY FROM KJINST1.PRODUCT_PURCHASES PP, KJINST1.PRODUCT P WHERE PP.PRODUCT_ID =P.PRODUCT_ID AND SALES_TRANSACTION_ID=V_SALESTXNID; -- DECLARE EXCEPTION HANDLER DECLARE CONTINUE HANDLER FOR NOT FOUND SET V_LASTPRODUCT = 1; DECLARE EXIT HANDLER FOR SQLEXCEPTION RESIGNAL; UNIT 24 스토어드프로그램 460

21 06 Stored Procedure 작성 IBM Data Studio Developer 를실행하여 Stored Procedure 를생성하는예입니다. IF V_SALESTXNID IS NULL THEN --CREATION A NEW SALES TXN INSERT INTO KJINST1.SALES ( SALES_TRANSACTION_ID, CUSTOMER_ID, SUB_TOTAL, TYPE, TRANSACTION_TIMESTAMP) VALUES ( DEFAULT, V_CUSTID, 0, 5, CURRENT TIMESTAMP); VALUES IDENTITY_VAL_LOCAL() INTO V_SALESTXNID; END IF; OPEN C1; FETCH C1 INTO V_PRODID, V_PRICE, V_QTY; WHILE (V_LASTPRODUCT = 0) DO BEGIN DECLARE C_NO_STOCK CONDITION FOR SQLSTATE '80000'; DECLARE EXIT HANDLER FOR C_NO_STOCK BEGIN UPDATE KJINST1.PRODUCT_PURCHASES SET STATUS = 'O' WHERE SALES_TRANSACTION_ID = V_SALESTXNID AND PRODUCT_ID = V_PRODID; END; SET V_TOTALCOUNT = V_TOTALCOUNT + 1; SELECT INVENTORY INTO V_INVENTORY FROM PRODUCT WHERE PRODUCT_ID = V_PRODID; 461 DB2 9.7 개발자가이드

22 06 Stored Procedure 작성 IBM Data Studio Developer 를실행하여 Stored Procedure 를생성하는예입니다. --CHECK IF INVENTORY SATISFY THE QTY IF V_INVENTORY >= V_QTY THEN BEGIN ATOMIC INSERT INTO KJINST1.PRODUCT_PURCHASES (SALES_TRANSACTION_ID, PRODUCT_ID, PRICE, QTY, STATUS) VALUES (V_SALESTXNID, V_PRODID, V_PRICE, V_QTY, 'C'); UPDATE KJINST1.PRODUCT SET INVENTORY=INVENTORY-V_QTY WHERE PRODUCT_ID = V_PRODID; SET V_COUNT = V_COUNT + 1; END; ELSE --NOT ENOUGH STOCK TO FILL ORDER SET V_ERR = THERE IS NOT ENOUGH STOCK FOR PRODUCT ID CHAR(V_PRODID) ' TO FILL THE ORDER ' CHAR(V_SALESTXNID); SIGNAL SQLSTATE '80000' SET MESSAGE_TEXT = V_ERR; END IF; END; FETCH C1 INTO V_PRODID, V_PRICE, V_QTY; END WHILE; IF V_COUNT = V_TOTALCOUNT THEN UPDATE KJINST1.SALES SET ORDER_STATUS = 'C' WHERE SALES_TRANSACTION_ID = V_SALESTXNID; ELSE UPDATE KJINST1.SALES SET ORDER_STATUS = 'P' WHERE SALES_TRANSACTION_ID = V_SALESTXNID; END IF; UPDATE KJINST1.SALES SET SUB_TOTAL = (SELECT SUM(PRICE) FROM PRODUCT_PURCHASES WHERE SALES_TRANSACTION_ID = V_SALESTXNID) WHERE SALES_TRANSACTION_ID = V_SALESTXNID; END P1 UNIT 24 스토어드프로그램 462

23 07 Trigger 작성 Trigger 에대해알아봅니다. 1 Trigger 이해하기 Trigger 는 Table 에 INSERT/UPDATE/DELETE 처리전 후에필요한일련의작업을자동으로수행하기위한 Table 과관련있는 Database Object 입니다. Trigger 를발생시키는문장을 Triggering SQL 문장이라합니다. Trigger 를 Triggering SQL 문장전또는후에실행하게할것인지를선택할수있습니다. 세가지 Trigger Type Trigger Type BEFORE AFTER 설명 Table 의 Data 가 Triggering SQL 문장에의해변경되기전에수행됩니다. Triggering SQL 문장이성공적으로완료되면 Trigger 가수행됩니다. Trigger 에따라, AFTER Trigger 는다른 Trigger 를수행할수있습니다. DB2 는최대 16 Level 까지다른 Trigger 를연쇄적으로수행할수있습니다. INSTRADE OF Trigger 가 View 를대상으로정의됩니다. SQL 문장이복잡한 View 에대해 INSERT/UPDATE/DELETE 를할때유용합니다. View 에대해허용되지않는 INSERT/UPDATE/DELETE 에대해사용됩니다. View 의 Column 은해당 Table 에 Column 과자동으로 Mapping 되지않으므로 INSERT/UPDATE/DELETE 할수없다. Business Logic 과해당 Table 과 View 의 column 에대한 Mapping 정보를알고있다면, SQL 의제약사항을우회적으로 INSTEAD Trigger 본문에해당 Business Logic 에정의할수있습니다. INSTEAD OF Trigger 에 SQL 문장을정의하여 Application Interface 를단순화할수있습니다. Trigger 는 Application 전반에걸쳐수행되어야될 Business Rule 을항상수행하게될때유용하게사용됩니다. 특정 Table 의 Data 가다른 Table 의 Data 와관련있는 Business Rule 이있을수있다. 만일, Business Rule 이변경되면, DB 에있는 Trigger 정의만변경하면되며, 모든 Application 은추가적인변경없이새로운 Business Rule 을따르게됩니다. 463 DB2 9.7 개발자가이드

24 07 Trigger 작성 Trigger 에대해알아봅니다. 2 CLP/ 제어센터를통한 Trigger 생성 Trigger 를생성하기위한많은 Tool 들이있습니다. CREATE TRIGGER 명령도그중하나입니다. CLP 에서수행 CREATE TRIGGER KJINST1.UPD_PRODINV_TRIG AFTER INSERT ON KJINST1.PRODUCT_PURCHASES REFERENCING NEW AS NEWROW FOR EACH ROW MODE DB2SQL BEGIN ATOMIC IF ( NEWROW.QTY > 0 ) THEN UPDATE KJINST1.PRODUCT SET INVENTORY = INVENTORY - NEWROW.QTY WHERE PRODUCT_ID = NEWROW.PRODUCT_ID; ELSEIF ( NEWROW.QTY < 0 ) THEN UPDATE KJINST1.PRODUCT SET INVENTORY = INVENTORY + NEWROW.QTY WHERE PRODUCT_ID = NEWROW.PRODUCT_ID; END IF; END@ db2 td@ -vf <fie_name> PRODUCT_PURCHASES Table 에대해 INSERT 가수행되면, UPD_PRODINV_TRIG Trigger 가수행됩니다. 수량이 0 보다크면 ( 판매 ) 재고가감소됩니다. 수량이 0 보다작으면 ( 반품 ) 재고가증가됩니다. 제어센터를통해 Trigger 를생성하는방법을소개합니다. 제어센터에서 Database 를선택한후, PRODUCT_PURCHASES Table 에서마우스오른쪽을클릭합니다. 제어센터를통한 Trigger 생성 Figure 2407A 제어센터에서 Trigger 작성하기 -1 UNIT 24 스토어드프로그램 464

25 07 Trigger 작성 Trigger 에대해알아봅니다. 트리거작성 다이얼로그에서 Trigger 정의를기술합니다. 화면이 트리거 와 트리거조치 탭으로나뉘어집니다. 주석 을제외한모든항목을정의합니다. 트리거스키마 : KC 트리거이름 : UPT_PRODINV_TRIG 테이블또는뷰스키마 : KC 테이블또는뷰이름 : PRODUCT_PURCHASE 트리거조치시간 : AFTER 트리거가실행되도록하는조작 : 삽입 트리거작성 : 트리거탭 Figure 2407B 제어센터에서트리거작성하기 -2 INSERT/UPDATE/DELETE 된이전행과새행에대한참조명을정의할수있습니다. 이전이 (Transition) 변수는 Trigger 본문에서사용됩니다. OLD Transition 변수 는 UPDATE/DELETE 가수행되면생성됩니다. 한편, NEW Transition 변수 는 UPDATE /INSERT 가수행되면생성됩니다. Triggering SQL OLD Transition NEW Transition DELETE OLD INSERT NEW UPDATE OLD NEW 465 DB2 9.7 개발자가이드

26 07 Trigger 작성 Trigger 에대해알아봅니다. 트리거작성 : 트리거조치탭 Figure 2407C 제어센터에서트리거작성하기 -3 INSERT Trigger 를작성하므로, 새행에관련된참조만활성화됩니다. 새행에대한상관이름 에 NEWROW 를입력합니다. 다음은 Triggering SQL 문장에의해영양을받는각 Row 단위로 Trigger 를실행할것인지, 또는 Row 수에관계없이각문장별로실행할것인지를선택합니다. UPT_PRODINV_TRIG Trigger 에서는 PRODUCT_PURCHASE 에입력되는각 Row 단위로 Trigger 를수행하게합니다. 그러므로실행단위로서 행 을선택합니다. 마지막으로, Trigger 가실행될때의 SQL 문장을 트리거조치 에기술합니다. 트리거조치에는기본적인템플릿이제공됩니다. WHEN 절에는 Trigger 수행을위한조건을정의합니다. 예를들어, Trigger 의 Base Table 에조건을만족하는경우에만 Trigger 를수행하도록정의할수있습니다. Tip UPT_PRODINV_TRIG Trigger에서는 PRODUCT_PURCHASE Table에입력되는모든 Operation 에대해 Trigger 를수행하므로, WHEN절을정의하지않습니다. WHEN 절 Ex) 가격 x 수량 이 100 보다큰경우만수행 WHEN ( newrow.price * newrow.qty > 100 ) WHEN 절다음에는 BEGIN ATOMIC ~ END 에해당하는 SQL 문장이정의됩니다. SQL 문장중, 하나라도실패하면 Trigger 조치가실패하도록반드시 ATOMIC 으로기술하여야합니다. Trigger 문장을기술할때는몇가지규칙이있습니다. 그중하나가, BEFORE Trigger 에서는 INSERT/UPDATE/DELETE 를기술할수없습니다. 만일, Data 수정을원한다면, AFTER Trigger 를정의하세요. 자세한내용은 "DB2 SQL Reference Guide 를참조하세요 l. 계속해서, Trigger 조치를작성합니다. PRODUCT_PURCHASES Table 에대해 INSERT 가수행되면, UPD_PRODINV_TRIG Trigger 가수행됩니다. 수량이 0 보다크면 ( 판매 ) 재고가감소됩니다. 수량이 0 보다작으면 ( 반품 ) 재고가증가됩니다. 각 Trigger 문장뒤에는 ; 으로끝을맺습니다. UNIT 24 스토어드프로그램 466

27 07 Trigger 작성 Trigger 에대해알아봅니다. Figure 2407D 제어센터에서트리거작성하기 -4 Tip 해당창에서 SQL문장을복사하거나, 다른파일로저장할수있습니다. Tool 에의해생성된 CREATE TRIGGER 에대한문장을보려면 SQL 표시 를 Click 합니다. 트리거작성 창에서바로생성하기위하여 확인 을 Click 합니다. 제어센터에서트리거 Object 를선택하여생성된 Trigger 를확인합니다. Figure 2407E 제어센터에서트리거작성하기 DB2 9.7 개발자가이드

28 07 Trigger 작성 Trigger 에대해알아봅니다. Figure 2407F 제어센터에서트리거작성하기 -6 3 Create Trigger 문 UNIT 24 스토어드프로그램 468

29 07 Trigger 작성 Trigger 에대해알아봅니다. 4 Trigger 사용예제 BEFORE INSERT TRIGGER CREATE TRIGGER KJINST1.default_class_end NO CASCADE BEFORE INSERT ON KJINST1.cl_sched REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL WHEN (n.ending IS NULL) SET n.ending = n.starting + 1 HOUR AFTER UPDATE TRIGGER CREATE TRIGGER KJINST1.audit_emp_sal AFTER UPDATE OF salary ON KJINST1.employee REFERENCING OLD AS o NEW AS n FOR EACH ROW MODE DB2SQL INSERT INTO KJINST1.audit VALUES (CURRENT TIMESTAMP, ' Employee ' o.empno ' salary changed from CHAR(o.salary) ' to ' CHAR(n.salary) ' by ' USER) SQL PL 을이용한 BEFORE INSERT TRIGGER CREATE TRIGGER KJINST1.validate_sched NO CASCADE BEFORE INSERT ON KJINST1.cl_sched REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL vs: BEGIN ATOMIC -- supply default value for ending time if null IF (n.ending IS NULL) THEN SET n.ending = n.starting + 1 HOUR; END IF; -- ensure that class does not end beyond 9PM IF (n.ending > '21:00') THEN SIGNAL SQLSTATE '80000' SET MESSAGE_TEXT='class ending time is beyond 9pm'; ELSEIF (n.day=1 or n.day=7) THEN SIGNAL SQLSTATE '800 SET MESSAGE_TEXT='class cannot be scheduled on a weekend'; END IF; END vs 469 DB2 9.7 개발자가이드

30 07 Trigger 작성 Trigger 에대해알아봅니다. INSTEAD OF TRIGGER CREATE VIEW KJINST1.org_by_division (division, number_of_dept) AS SELECT division, count(*) FROM KJINST1.org GROUP BY division CREATE TRIGGER KJINST1.upd_org INSTEAD OF UPDATE ON KJINST1.org_by_division REFERENCING OLD AS o NEW AS n FOR EACH ROW MODE DB2SQL BEGIN ATOMIC IF (o.number_of_dept!= n.number_of_dept) THEN SIGNAL SQLSTATE '800' SET MESSAGE_TEXT = The number of department is not updatable.'; END IF; UPDATE KJINST1.org SET division = n.division WHERE division = o.division; END View 에대한 Update 후의처리결과를확인할수있습니다. select * from KJINST1.org_by_division; DIVISION NUMBER_OF_DEPT Corporate 1 Eastern 5 Midwest 2 Western 2 UPDATE KJINST1.org_by_division SET division='eastern_1' WHERE division='eastern ; select * from KJINST1.org_by_division; DIVISION NUMBER_OF_DEPT Corporate 1 Eastern_1 5 Midwest 2 Western 2 UNIT 24 스토어드프로그램 470

31 07 Trigger 작성 Trigger 에대해알아봅니다. SP 를 Call 하는 Trigger CREATE TRIGGER KJINST1.tr_autoproc_order AFTER INSERT ON KJINST1.sales FOR EACH ROW MODE DB2SQL BEGIN ATOMIC CALL KJINST1.process_neworder(); END 5 View Trigger 와 Table Trigger 비교 다음예를통해 View Trigger 와 Table Trigger 의차이점을살펴봅니다. 이를위해 Table 과 View, Table Insert Trigger 와 View Insert Trigger 를사용합니다. Table, View 및 Trigger 생성 CREATE TABLE KJINST1.T_AIRPORT ( AIRPORT_CODE CHAR( 3) NOT NULL, AIRPORT_NAME CHAR(50) ); CREATE VIEW KJINST1.V_AIRPORT AS SELECT * FROM KJINST1.T_AIRPORT ; CREATE TRIGGER KJINST1.INSERT_T_AIRPORT AFTER INSERT ON KJINST1.T_AIRPORT FOR EACH ROW MODE DB2SQL BEGIN ATOMIC END; CREATE TRIGGER KJINST1.INSERT_V_AIRPORT INSTEAD OF INSERT ON KJINST1.V_AIRPORT FOR EACH ROW MODE DB2SQL BEGIN ATOMIC END; 471 DB2 9.7 개발자가이드

32 07 Trigger 작성 Trigger 에대해알아봅니다. Table, View 및 Trigger 생성 INSERT INTO KJINST1.t_airport VALUES ('KOR', 'SEOUL_T'); INSERT INTO KJINST1.v_airport VALUES ('KOR', 'SEOUL_V'); select * from KJINST1.t_airport; AIRPORT_CODE AIRPORT_NAME KOR SEOUL_T select * from KJINST1.v_airport; AIRPORT_CODE AIRPORT_NAME KOR SEOUL_T INSTEAD OF Trigger 수정 CREATE TRIGGER KJINST1.insert_v_airport INSTEAD OF INSERT ON KJINST1.v_airport REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL BEGIN ATOMIC INSERT INTO KJINST1.t_airport VALUES (n.airport_code, n.airport_name); END; UNIT 24 스토어드프로그램 472

33 08 모듈작성 DB2 모듈은저장프로시저, 함수, 변수, 커서드의오브젝트를하나의묶음으로관리합니다. 오라클의패키지 (Package) 와유사한기능을수행합니다. 1 모듈 (Module) DB2 9.7 에서새롭게제공하는모듈을통해서일련의 DBMS 의오브젝트를그룹으로관리합니다. 오브젝트리스트 : 저장프로시저, 사용자함수, 배열, 레코드, 사용자정의커서등서브모듈로지정할수있습니다. 2 모듈작성실습 : 모듈에프로시저포함하기 Tip 모듈에등록된프로시저나함수는독립적으로도실행이가능합니다. 하지만모듈을사용하면모듈간의의존성관리가쉽습니다. 1. 간단테스트테이블하나작성 create table TEST_TEST (name varchar(20), entrydate timestamp) 4. 모듈선언 CREATE MODULE mod_test1 5. 선언한모듈에프로시져추가 ( 고정변수 ) ALTER MODULE mod_test1 PUBLISH PROCEDURE proc1_test2 (name varchar(20)) BEGIN call proc1_test ('kasung'); END 6. 모듈실행 call mod_test1. proc1_test3 ('HONG') 7. 데이타이상유무확인 select * from test_test NAME ENTRYDATE kasung 오전 3:37:36 8. 스키마. 모듈명. 프로시져명으로도실행예시 call db2inst1.mod_test1. proc1_test3 ('KOREA') 473 DB2 9.7 개발자가이드

34 08 모듈작성 DB2 모듈은저장프로시저, 함수, 변수, 커서등의 DB2 오브젝트를하나의묶음으로관리합니다. 오라클의패키지 (Package) 와유사한기능을수행합니다. 3 모듈작성실습 : 모듈에함수포함하기 1. 기존의모듈에 appending 하기 ALTER MODULE mod_test1 PUBLISH function fn_addsum123 (p1 int) returns int BEGIN return ( select fn_addsum(p1) from sysibm.sysdummy1 ); END 2. 모듈의함수실행 select mod_test1.fn_addsum123 (10) from sysibm.sysdummy 모듈작성실습 : 모듈에사용자정의타입포함하기 1. CREATE MODULE INVENTORY 2. ALTER MODULE INVENTORY ADD TYPE ITEMLIST AS INTEGER ARRAY[VARCHAR(100)] 3. ALTER MODULE INVENTORY ADD VARIABLE ITEMS ITEMLIST UNIT 24 스토어드프로그램 474

35 08 모듈작성 사용자정의모듈과서브모율정보를조회해봅니다. 모듈정보조회 (1) : DB2 9.7 에추가된관리자뷰이용 SQL> SELECT MODULENAME, DIALECT, MODULETYPE, REMARKS FROM SYSCAT.MODULES MODULENAME DIALECT MODULETYPE REMARKS EMP_ADMIN PL/SQL P PL/SQL Package Body MOD_TEST1 DB2 SQL PL M (null) SQL>SELECT OBJECTMODULENAME, OBJECTNAME, OBJECTTYPE FROM SYSCAT.MODULEOBJECTS OBJECTMODULENAME OBJECTNAME OBJECTTYPE EMP_ADMIN GET_DEPT_NAME FUNCTION EMP_ADMIN UPDATE_EMP_SAL FUNCTION 모듈정보조회 (2) : DB2 9.7 이전버전에서지원하는관리자뷰예시 SQL> SELECT ROUTINEMODULENAME, ROUTINENAME, ROUTINETYPE FROM SYSCAT.ROUTINES ROUTINEMODULENAME ROUTINENAME ROUTI NETYPE DBMS_OUTPUT ENABLE P DBMS_OUTPUT GET_LINES P DBMS_ALERT INIT P 475 DB2 9.7 개발자가이드

36 00 23 Memo UNIT 24 스토어드프로그램 476

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

90

90 89 3 차원공간질의를위한효율적인위상학적데이터모델의검증 Validation of Efficient Topological Data Model for 3D Spatial Queries Seokho Lee Jiyeong Lee 요약 키워드 Abstract Keywords 90 91 92 93 94 95 96 -- 3D Brep adjacency_ordering DECLARE

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

DW 개요.PDF

DW 개요.PDF Data Warehouse Hammersoftkorea BI Group / DW / 1960 1970 1980 1990 2000 Automating Informating Source : Kelly, The Data Warehousing : The Route to Mass Customization, 1996. -,, Data .,.., /. ...,.,,,.

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

메뉴얼41페이지-2

메뉴얼41페이지-2 데이터 기반 맞춤형 성장관리 솔루션 스마트빌 플러스 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여 등록합니다. 금융정보 자동수집을 위하여 인증서이름, 아이디, 비밀번호를 등록합니다. 통합 자동 수집 금융정보 통합 자동수집을 실행합니다 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

슬라이드 1

슬라이드 1 [ CRM Fair 2004 ] CRM 1. CRM Trend 2. Customer Single View 3. Marketing Automation 4. ROI Management 5. Conclusion 1. CRM Trend 1. CRM Trend Operational CRM Analytical CRM Sales Mgt. &Prcs. Legacy System

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

歯PLSQL10.PDF

歯PLSQL10.PDF 10 - SQL*Pl u s Pl / SQL - SQL*P lus 10-1 1 0.1 PL/ SQL SQL*Pl u s. SQL*P lus 10-2 1 0.2 S QL* Pl u s PL/ S QL SQL*Pl u s, Pl / SQL. - PL/ SQL (i npu t ), (s t or e ), (r un). - PL/ SQL s cr i pt,,. -

More information

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

ecorp-프로젝트제안서작성실무(양식3)

ecorp-프로젝트제안서작성실무(양식3) (BSC: Balanced ScoreCard) ( ) (Value Chain) (Firm Infrastructure) (Support Activities) (Human Resource Management) (Technology Development) (Primary Activities) (Procurement) (Inbound (Outbound (Marketing

More information

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Microsoft PowerPoint - QVIZMVUMWURI.pptx 데이타베이스시스템 2011.03 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) Chap. 4 SQL 질의어 C4 2 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4 3 SQL

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

제 2 장 기본 사용법

제 2 장  기본 사용법 LS Studio 1. 시작하기 1.1 특징 XG5000 에서는 XP-Builder, DriveView7 등의소프트웨어와의통합된개발환경을제공합니다. 통합된 개발환경에서는모든프로젝트파일을 XG5000 에서통합관리합니다. XP-Builder 통합프로젝트를사용함으로써 PLC 에서사용할변수목록을 CSV 파일로내보내기또는불러오기하는번거로움없이바로사용할수있습니다. 또한

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

Microsoft PowerPoint 세션.ppt

Microsoft PowerPoint 세션.ppt 웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)

More information

歯CRM개괄_허순영.PDF

歯CRM개괄_허순영.PDF CRM 2000. 8. KAIST CRM CRM CRM CRM :,, KAIST : 50%-60%, 20% 60%-80%. AMR Research 10.. CRM. 5. Harvard Business review 60%, 13%. Michaelson & Associates KAIST CRM? ( ),,, -,,, CRM needs,,, dynamically

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

RDB개요.ppt

RDB개요.ppt 1 2 3 < > 1 SQL SQL 2 SQL 3 column DEPT DEPT# DNAME BUDGET D1 D2 D3 Marketing Development Research 10M 12M 5M tuple EMP EMP# ENAME DEPT# SALARY D1 40 D1 45 E1 E2 E3 Lopez Cheng Finzi D2 30 E4 Satio D2

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Microsoft PowerPoint Python-DB

Microsoft PowerPoint Python-DB 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음

More information

초보자를 위한 ADO 21일 완성

초보자를 위한 ADO 21일 완성 ADO 21, 21 Sams Teach Yourself ADO 2.5 in 21 Days., 21., 2 1 ADO., ADO.? ADO 21 (VB, VBA, VB ), ADO. 3 (Week). 1, 2, COM+ 3.. HTML,. 3 (week), ADO. 24 1 - ADO OLE DB SQL, UDA(Universal Data Access) ADO.,,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

Deok9_Exploit Technique

Deok9_Exploit Technique Exploit Technique CodeEngn Co-Administrator!!! and Team Sur3x5F Member Nick : Deok9 E-mail : DDeok9@gmail.com HomePage : http://deok9.sur3x5f.org Twitter :@DDeok9 > 1. Shell Code 2. Security

More information

RVC Robot Vaccum Cleaner

RVC Robot Vaccum Cleaner RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Portal_9iAS.ppt [읽기 전용]

Portal_9iAS.ppt [읽기 전용] Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Oracle9i Application Server e-business Portal Client Database Server e-business Portals B2C, B2B, B2E, WebsiteX B2Me GUI ID B2C

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Programming Languages 모듈과펑터 2016 년봄학기 손시운 (ssw5176@kangwon.ac.kr) 담당교수 : 임현승교수님 모듈 (module) 관련있는정의 ( 변수또는함수 ) 를하나로묶은패키지 예약어 module과 struct end를사용하여정의 아래는모듈의예시 ( 우선순위큐, priority queue) # module PrioQueue

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc Asp Mssql Sql Injection Tool 분석보고서 이재곤 (x0saver@gmail.com) SK Infosec Co., Inc MSS 사업본부 / 침해대응센터모의해킹파트 Table of Contents 1. 개요... 3 2. 구성... 3 3. 분석... 4 3.1. 기능분석... 4 4. 공격원리...14 4.1 기본공격원리...14 4.2

More information

ESQL/C

ESQL/C 20 장. PL/SQL 커서 주요내용 암시적커서 명시적커서선언 명시적커서열기및닫기 명시적커서에서데이터 Fetch 커서의속성 (%ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND) 커서 FOR 루프 PL/SQL 의커서 (Cursor) 커서 SQL 문과프로그램실행과정에서결과를저장할수있는오라클메모리구조 ( 개별 SQL 작업영역 ) 암시적커서 (Implicit

More information

SMV Vending Machine Implementation and Verification 김성민 정혁준 손영석

SMV Vending Machine Implementation and Verification 김성민 정혁준 손영석 SMV Vending Machine Implementation and Verification 201321124 김성민 201472412 정혁준 201472262 손영석 2015.05.04 Contents Review 지적사항 개선사항 Review Review sell_denied start coin {1, 5, 10, 50, 100} coin Ready Input_

More information

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용   한 수업환경구축 웹데이터베이스구축및실습 구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 http://chrome.google.com 한림대학교웹데이터베이스 - 이윤환 APM 설치 : AUTOSET6

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

More information