분류 전체보기 187

리액트 기초(하나하나 따라해보기) 5편

HTML 삽입 미리보기할 수 없는 소스 모달창 띄워보기 모달창은 이런식으로 페이지 위에 덧씌워서 보여주는 페이지이다. 페이지 이동이 일어나지 않고 해당 페이지에서 띄워주는 것이기 때문에 하나의 html 파일 위에서 코드를 작성하게 된다. 따라서 코드 압축에 유리하다. 모달창을 사용하기 위해 App.js 파일에는 이런 코드를 추가하고 해당 css 에는 이러한 코드를 추가한다. 그뒤 컨트롤 에스를 눌러 저장하면 이러한 화면을 볼 수 있다. 이제 여기서 컴포넌트 문법이라는게 생기는데 제목 날짜 상세내용 이 코드를 이렇게 줄인다. 이렇게 줄일 수 있는데 바로 줄여서 쓰면 동작하지 않고 function App(){} 이 함수 바깥에 Modal 이름이라는 이름을 가진 함수를 추가해주고 리턴문 안에 출력하고 싶은 코..

프로젝트/React 2022.10.02

트리거를 이용한 실습문제(1번)

트리거를 이용한 문제 EMP 테이블에 데이터가 입력되면 EMP_OLD 테이블이 있다면 이 테이블에 INSERT 없다면 EMP_OLD 테이블을 만들고 이 테이블에 INSERT 하는 행 레벨 트리거를 작성하시오. (입력되는 SAL 값이 3000보다 큰 경우에만 트리거가 동작하도록) CREATE OR REPLACE TRIGGER homework_trigger AFTER INSERT ON EMP FOR EACH ROW WHEN (new.sal > 3000) /*트리거 작동 조건*/ DECLARE is_tbl varchar2(20) := null; v_sql1 varchar2(500); v_sql2 varchar2(1000); v_sql3 varchar2(1000); BEGIN BEGIN SELECT table_..

[ORACLE] 트리거 사용 예시

트리거 기본 문법 CREATE [OR REPLACE] TRIGGER 트리거이름 [AFTER/BEFORE] [update or delete] ON 테이블 이름 [FOR EACH ROW] /*행 트리거 여부를 결정, DML의 영향을 받는 레코드마다 트리거 동작*/ [WHEN 조건] DECLARE 선언부 BEGIN 트리거 실행코드 EXCEPTION END; 이러한 문법을 가지고 있는 트리거. 아래 예시 코드로 어떻게 쓰이는 지 확인. 기본 트리거 예시코드 아래 코드는 주말 오전 10시에서 오후 6시 사이 EMP 테이블에 DML 사용 못하게 하는 트리거이다. CREATE OR REPLACE TRIGGER emp_dml_YHY BEFORE INSERT OR UPDATE OR DELETE ON emp BEGIN I..

[ORACLE] 프로시저 기본 사용 예시

프로시저 기본 문법 물류업무를 하다보니 데이터베이스 SQL 이 가장 중요하다는 것을 깨달았고, 다중 조인은 기본에 프로시저 트리거를 모르면 업무가 불가능하다는 것을 깨달았다. 그래서 내가 이해할겸 프로시저 문법을 정리한다. 스칼라 변수 선언 V_EMPNO NUMBER(4) := 100; V_ENAME VARCHAR2(20) := "lks"; 여기서 NUMBER(p, s ) 형식에 대해 추가 설명을 하겠다. p 는 최대 유효숫자 자릿수를 나타낸다. 유효숫자란 0이아닌 수가 몇개인지를 뜻한다. s 는 소수점 기준 자리수를 나타낸다. 예시로 123.74라는 숫자가 있다. 이 숫자에 대해 타입지정을 하나씩 해보겠다. NUMBER(3) 으로 하면 결과는 124가 찍힌다. 이유는 P는 3으로 명시했지만 S 는 명시..

[ORACLE] 오라클 데이터 복구 방법(TIMESTAMP)

오라클 작업중 실수로 데이터를 날렸을 때 방법이다. 오라클 9버전부터 FLASH BACK 이라는 기능이 추가 됬는데. 휴지통 개념이라고 생각하면 된다. 사용방법은 다음과 같다. SELECT * FROM test_table AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE) WHERE id = '1234'; 단위는 SECOND, MINUTE, HOUR, DAY 등이 있고 원하는 단위로 바꿔서 쓸 수 있다.

리액트 기초(하나하나 따라해보기) 4편

버튼을 누르면 첫 글 제목이 바뀌는 기능을 추가해보자. 이렇게 20번째 줄부터 28 번쨰 줄까지 버튼을 넣었다. 그래서 화면에는 이렇게 나왔다. 하지만 버튼을 눌러도 변화하지 않았다. 그래서 코드를 이렇게 고치면 정상적으로 바뀐다. 그전에 수정이 안됬던 이유는 자바 스크립트에서는 copy 라는 변수에 a 를 새로 담는 게 아니라 a라는 데이터가 있는 영역을 copy 가 가르키는 화살표가 되기 때문이다. 그래서 코드상으로 같은 데이터라고 인식이 되는 것이고 결국 같은 데이터를 가르키고 있어서 수정이 이루어지지 않았던 것이다. 하지만 ...으로 묶어버리면 가르키는 대상을 새롭게 생성해서 수정이 가능하다. 쉽게 설명하자면 array 나 object 는 사용할 때 ... 으로 묶어서 사용하고 숫자는 그냥 사용해..

프로젝트/React 2022.09.26

[ORACLE] 프로시저와 트리거 차이

프로시저 저장 프로시저는 미리 데이터베이스 서버에 SQL 명령을 두고 프로시저를 실행하여 SQL 명령을 실행할 수 있도록한다. 프로시저 안에는 제어 명령이나 반복문을 사용할 수 있기에 프로그램도 만들 수 있다. 트리거 트리거는 테이블에 작성한다. 어떤 테이블에 행을 삽입한다든지, 행을 변경, 삭제했을 때 트리거가 설정되어 있으면, 트리거의 SQL 문이 자동으로 실행. 프로시저 트리거 CREATE PROCEDURE 문법 CREATE TRIGGER 문법 생성시 소스코드 실행코드 생성 생성시 소스코드 실행코드 생성 EXECUTE 명령어로 실행 생성 후 자동실행 COMMIT, ROLLBACK 실행가능 COMMIT, ROLLBACK 실행 불가능

[ORACLE] 데이터베이스 문제 사이트 추천

데이터베이스 실력을 끌어올리기 위한 사이트 모음 https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all SQL Tryit Editor v1.6 WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, Opera, and Edge(79). If you use another browser you will still be able to use our Try SQL Editor, but a different ver www.w3schools.com 1. 이미 ..

인덱스(INDEX)에 대한 설명, 예시 코드[ORACLE]

인덱스는 데이터베이스에서 자료를 더 찾기 쉽게 만들어주는 자료구조이다. 예를 들어 가위 라는 단어를 찾을때 ㄱ -> 가 -> 가위 이런 순서대로 찾으면 더욱 쉽게 찾을 수 있다. 하지만 모든 테이블을 인덱스로 만들면 좋지 않냐 라고 물어볼 수 있지만 그러면 좋지 않다. 책이 3권만 있을 경우 보이는 상태에서 하나 찾는게 훨씬 빠르다. 그러므로 인덱스를 사용하는 상황은 규모가 큰 테이블, 생성,수정,삭제가 드문 테이블이 적합하다. 인덱스 생성 인덱스는 기본적으로 오름차순으로 되기 때문에 내림차순으로 만들기 위해 뒤에 DESC를 선언한다. CREATE INDEX 인덱스 이름 ON 정렬할테이블(정렬 방법); 이 문법으로 코드를 생성하면 다음과 같다. CREATE INDEX NAME_DSC ON STUDENT_..

트리거(Trigger)에 대한 설명, 사용법, 예시코드[ORACLE]

트리거란??? 트리거의 뜻은 데이터베이스에서 1이라는 쿼리가 실행 되면 여기에 영향을 받아 다른 쿼리가 실행 되는 과정을 뜻한다. 트리거 생성하기(문법 설명) 트리거 이름을 정해준다. CREATE OR REPLACE TRIGGER 트리거명 트리거를 어느때 발생시킬지 정해준다. BEFORE AFTER INSERT UPDATE DELETE 어떤 컬럼이 변경되었을 때를 감지하고 싶다면 이렇게 정해준다. OF 대상컬럼 이벤트를 감지할 테이블을 설정해준다. ON 테이블 변경되기 전 값, 변경된 후의 값 사용 방법. REFERENCING NEW AS N OLD AS O 데이터를 행마다 하나한 처리해야 한다면 아래와 같이 입력. FOR EACH ROW 트리거 실행 구문 작성 BEGIN 실행구문 END; 예시코드 CR..