본문 바로가기

[영남이공대학교 사이버보안과] MySQL의 저장 프로시저(Stored Procedure), 저장 함수(Stored Function), 트리거(Trigger) 저장 프로시저(Stored Procedure) MySQL 5.0이상여러 줄의 SQL 문을 하나의 SQL 문처럼 정리하여 CALL 명령으로 실행할 수 있다. CREATE PROCEDURECREATE PROCEDURE 'name()'BEGINSELECT ...UPDATE ......ENDBEGIN ~ END 까지 저장 프로시저의 본체이다.저장 프로시저의 본체를 작성하기 전에 구분 문자(기본값 ; )를 변경하는 작업이 필요하다.구분 문자를 변경하지 않으면 본체에서 에러가 일어나 다시 작성해야하는 무한 루프를...DELIMITER 대부분 // 을 많이쓴다. ex) DELIMITER //프로시저를 입력 후에는 구분문자를 다시 기본값으로 변경하면 된다. RUN PROCEDUREPROCEDURE ( );ex) PRO.. 더보기
[영남이공대학교 사이버보안과] MySQL의 뷰(VIEW) VIEW출력한 결과를 가상 테이블에 저장한 것, MySQL 5.0 버젼 이상에서 지원뷰는 링커와 비슷한 역할이라서 뷰의 값을 변경하면 연결된 테이블 데이터도 변경된다. VIEW CREATE조건문에는 WHERE 이외에 다른 문도 가능하다.CREATE VIEW 'name' AS SELECT 'column' FROM 'table' WHERE ... - UNION, JOIN 그리고 하위질의를 사용하는 VIEW에서는 INSERT 와 UPDATE가 불가능하다.- 테이블에 값을 입력했는데 VIEW의 조건에 맞지않으면 뷰 테이블에는 값이 입력되지 않는다.- 조건에 맞지 않으면 테이블에 데이터 입력되지 않으려면 VIEW CREATE를 할때 맨 끝에 "WITH CHECK OPTION"을 추가하면 된다. VIEW PASTE.. 더보기
[영남이공대학교 사이버보안과] MySQL의 CASE WHEN, UNION, USING, JOIN문, 하위질의, NOT EXISTS CASE WHEN복수 조건들에 허용되는 값을 출력하는 방법CASEWHEN 조건1 THEN 출력값WHEN 조건2 THEN 출력값 ...ELSE 조건에 해당하지 않는 출력값END UNION복수의 테이블을 한 번에 출력하는 방법(SELECT 'column1' FROM 'table1' WHERE '조건') UNION (SELECT 'column2' FROM 'table2' WHERE '조건') UNION(SELECT 'column3' FROM 'table3' WHERE '조건') ... UNION ALL중복된 값또한 출력하는 방법(SELECT 'column1' FROM 'table1' WHERE '조건') UNION ALL ... JOIN테이블에 다른 테이블에 있는 column을 가져와 같이 출력하는 방법이때 .. 더보기