강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
변수대입에 대해
조회 : 2,660  


변수대입에 대해

 

자주 사용하는 부분에 대해선 일일이 코딩하는 노가다를 줄여야 한다.
그럼 누구나 알고 있는 &에 대해 이야기하자.
이 놈은 다음과 같이 insert 작업을 편하게 만들어 준다.

SQL> create table test( id varchar2(10), name varchar2(10));

테이블이 생성되었습니다.

SQL> insert into test values('&id', '&name');
id의 값을 입력하십시오: maddog
name의 값을 입력하십시오: 강명규
구   1: insert into test values('&id', '&name')
신   1: insert into test values('maddog', '강명규')

1 개의 행이 만들어졌습니다.

SQL> /
id의 값을 입력하십시오: superman
name의 값을 입력하십시오: 슈퍼맨
구   1: insert into test values('&id', '&name')
신   1: insert into test values('superman', '슈퍼맨')

1 개의 행이 만들어졌습니다.

처음 &를 사용하여 insert문을 만들면 다음부터는 /만 치면,
필요한 부분에 대해서만 입력하면 되므로 좋은 방법이 될수 있다.
&&와 같이 2개를 사용하면 무슨 효과가 있을까? 이 놈은 한번만 입력하면 
그 값을 유지한다. 역시 예제를 보자.

SQL> insert into test values('&id', '&&name');
id의 값을 입력하십시오: kang
name의 값을 입력하십시오: 강명규
구   1: insert into test values('&id', '&&name')
신   1: insert into test values('kang', '강명규')

1 개의 행이 만들어졌습니다.

SQL> /
id의 값을 입력하십시오: ocp
구   1: insert into test values('&id', '&&name')
신   1: insert into test values('ocp', '강명규')

1 개의 행이 만들어졌습니다.

SQL> /
id의 값을 입력하십시오: oracle
구   1: insert into test values('&id', '&&name')
신   1: insert into test values('oracle', '강명규')

1 개의 행이 만들어졌습니다.

처음 insert문에서 name에 2개의 &를 사용했다.
다음부터의 /입력이후론 name에 대해서는 다시 입력하지 않아도 된다.


그럼 일정부분의 입력만 받고 싶을경우는?
&와 .을 사용하여야 한다. 예제를 보면 싶게 알 수 있을 것이다.

SQL> select * from test where birth='&X.0509';
Enter value for x: 1974
old   1: select * from test where birth='&X.0509'
new   1: select * from test where birth='19740509'

NAME              AGE BIRTH
---------- ---------- --------
강명규             27 19740509

SQL> select * from test where birth='&X0509';
Enter value for x0509: 1974
old   1: select * from test where birth='&X0509'
new   1: select * from test where birth='1974'

no rows selected

SQL>

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=728


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
(주) 수퍼유저