http://blog.naver.com/saojung50?Redirect=Log&logNo=120024579830
[출처] 오라클 함수 - 단일행 함수|작성자 행복한오뚜기

◆ 문자 관련 함수
 SELECT
       lower('LOVE')         /*소문자로 변환. 출력:love*/
     , upper('pink')         /*대문자로 변환. 출력:PINK*/
     , initcap('pinklady')   /*첫글자만 대문자로 변환. 출력:Pinklady*/
     , concat('Hello','Kitty')            /*두 문자열을 연결. 출력:HelloKitty*/
     , substr('pinklady',5,4)    /*대상 문자열을 지정 자리에서 시작하여 지정 갯수만큼 출력. 출력:lady*/
     , length('pinklady')    /*문자열의 길이를 구함. 출력:8*/
     , instr('pinklady@aaa.com','@')  /*명명된 문자의 위치를 구함. '@'문자를 찾아 인덱스 번호를 구함. 출력:9*/
     , instr('pinklady@aaa.com','a',1,2) /*대상 문자열 0번째부터 시작해서 'a'문자가 2번째 나오는 인덱스 번호를 구함. 출력:10*/
     /*, lpad('대상 문자열',출력될 문자열 길이,'채울 문자')*/
     , lpad('pinklady',10,'♡')      /*지정된 길이에서 남는 부분 왼쪽에 주어진 문자로 자리를 채움. 출력:♡pinklady*/
     , rpad('pinklady',10,'♡')      /*지정된 길이에서 남는 부분 오른쪽에 주어진 문자로 자리를 채움. 출력:pinklady♡*/
     , ltrim('  pinklady   ') /*왼쪽 공백을 지움. 출력:pinklady   */
     , ltrim('pinklady','p')  /*지정된 문자가 왼쪽에 있으면 지움. 출력:inklady*/
     , rtrim('  pinklady   ') /*오른쪽 공백을 지움. 출력:  pinklady*/
     , rtrim('pinklady','y')  /*지정된 문자가 오른쪽에 있으면 지움. 출력:pinklad*/
     , translate('pinklady','pink','purple')            /*특정 문자열을 주어진 문자열로 대체. 출력:purplady*/
     , REPLACE('pink$$lady','$','♡')               /*특정 문자열을 주어진 문자열로 대체. 출력:pink♡♡lady*/
     , decode('pinklady','pinklady','♡','☆')     /*특정 조건에 대한 연산을 포함한 조건적 조회를 가능하게 한다. 출력:♡*/    
  FROM dual
 
◆ 숫자 관련 함수
SELECT
       round(123.4567,2)  /*숫자를 지정한 자리에서 반올림. 출력:123.46*/
     , round(123.4557,2)  /*출력:123.46*/
     , round(123.4547,2)  /*출력:123.45*/
     , trunc(123.4567,2)  /*숫자를 지정한 자리에서 절삭. 출력:123.45*/
     , MOD(9,2)    /*나머지를 구함. 출력:1*/
     , power(2,3)  /*거듭제곱을 구함. 출력:8*/
     , sqrt(4)   /*제곱근을 구함. 출력:2*/
     , sign(234)   /*양수, 음수, 0인지 구분. 양수일 때는 1, 음수일 때는 -1을 반환. 출력:1*/
     , sign(-234)  /*출력:-1*/
     , chr(65)    /*ASCII값에 해당하는 문자를 구한다. 출력:A*/
  FROM dual

◆ 날짜 관련 함수
SELECT
  SYSDATE /*현재 날짜 구함. 출력:, to_char(SYSDATE, 'month dd, yyyy')*/
     , to_char(SYSDATE) /*출력:11/06/01*/
     , to_char(SYSDATE, 'fmDD Month YYY') /*출력:1 June 11*/
     , to_char(SYSDATE, 'YYYY"년" MM"월" DD"일"') /*출력:2011년 06월 01일*/
     , to_char(SYSDATE, 'month dd, yyyy') /*출력:june      01, 2011*/
     , to_char(SYSDATE, 'MONTH DD, YYYY') /*출력:JUNE      01, 2011*/
     , to_char(SYSDATE, 'MM') /*달 출력. 출력:06*/
     , to_char(SYSDATE, 'mm') /*달 출력. 출력:06*/
     , to_char(SYSDATE, 'MONTH')  /*달 이름 출력. 출력:JUNE     */
     , to_char(SYSDATE, 'W')  /*현재 월의 몇번째 주인지 반환. 출력:1*/
     , to_char(SYSDATE, 'WW') /*올해의 몇번째 주인지 반환. 출력:22*/
     , to_char(SYSDATE, 'D')  /*요일 반환. 출력:4*/
     , to_char(SYSDATE, 'DD') /*이번달의 날수 반환. 출력:01*/
     , to_char(SYSDATE, 'DDD') /*금년 날수 반환. 출력:152*/
     , to_char(to_date('20110615'),'D')  /*요일 설정.출력:4*/
     , last_day(SYSDATE)   /*그달의 마지막 날 반환. 출력:2011-06-30 오후 4:47:53*/    
  FROM dual
[출처] 오라클 함수 - 단일행 함수|작성자 행복한오뚜기

Posted by 말없제이
,

MERGE INTO 구문..

DBTool/Oracle 2011. 11. 29. 17:43
MERGE INTO CPL9903
    USING DUAL
    ON(TUBE_CODE = :TUBE_CODE)
WHEN MATCHED THEN  -- 일치하면...
UPDATE SET
                    UPD_DATE= SYSDATE
                     ,ITEM1 = :ITEM1 
                     ,ITEM2 = :ITEM2 
                     ,ITEM3 = :ITEM3
                     ,ITEM4 =:ITEM4
                     ,ITEM5 = :ITEM5 
                     ,IMAGE = :IMAGE  
WHERE TUBE_CODE = :TUBE_CODE        
WHEN NOT MATCHED THEN   -- 일치안하면
INSERT(SYS_DATE
            ,USER_ID
            ,UPD_DATE
            ,TUBE_CODE
            ,ITEM1
            ,ITEM2
            ,ITEM3
            ,ITEM4
            ,ITEM5 
            ,IMAGE ) 
VALUES(SYSDATE
            ,'GNSK'
            ,SYSDATE
            ,:TUBE_CODE 
            ,:ITEM1 
            ,:ITEM2
            ,:ITEM3 
            ,:ITEM4 
            ,:ITEM5 
            ,:IMAGE )
Posted by 말없제이
,

변수할당 - -..

DBTool/Oracle 2011. 11. 29. 15:42
-- 변수할당
DECLARE D_CENT INT;
BEGIN
 -- 카운터수를 구한다.
 
 --@D_CENT = -- MS의 대용.
 SELECT COUNT(HANGMOG_CODE)
  INTO D_CENT -- 변수에 넣어준다
  FROM NML5020
  WHERE HANGMOG_CODE ='A1000';
 
 
 -- 반약 1개만 있을경우 실행
 IF D_CENT = 1
  THEN -- 탭은 안되고 ' ' 공백이 있어야함 쿨럭.
   UPDATE NML5020
   SET  IPGO_COUNT = IPGO_COUNT+1 -- 카운터 +1
   WHERE HANGMOG_CODE ='A1000';
 END IF;
END; -- 마지막 ; 표시 있어야 함. 쿨럭.
/ -- 있어야함 쿨럭.
Posted by 말없제이
,

일반적인 >>
1.기존 많은 DB에서 받은것을 메모리에 상주시켜 물리적인 접근없이 빠르게 하기위해
2.기존 DB 정보의 보안을 위해(view로 설정된 이외의 컬럼은 보이지 않음)

다년간경험하신분 >>
변동될수있는 DB으로인한 기존 소스단과 연계하기위해
db단에서 변경되어도 view단에서 수정시키면 소스단 수정안할수 있는구조.

Posted by 말없제이
,
비스타를 사용중인데.. XP에서 잘되던 TOAD가 난데없이..
Oracle no Instant Client
Oracle Home...머시기.. 가 잡혀 구글을 뽑아보니..

원본 : http://oddpold.tistory.com/tag/Toad%20for%20Oracle
내용을 보시기 불편하시니.. 윗 원본사이트에서 보시면 되실듯..
또 가기 불편하시다는 분은 아래내용 계속^^...


http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
에서 필히... Instant Client 10.1.0.5.0 버전 다운로드
instantclient-odbc-win32-10.1.0.5-20060419.zip
instantclient-basic-win32-10.1.0.5-20060419.zip
instantclient-sqlplus-win32-10.1.0.5-20060419.zip

3개다운.. 아무리 64비트라도  -- TOAD가 그러니.. 32비트용일세..
11의 최신버전 설치후 TOAD에서 Oracle Home이 안잡힌다고 할거니..
못 믿게사오면 실험을^^..

받아서 임의의 폴더.. 저는..
D:\OraInstance
에다가 압축푼다음..

시스템 등록정보-고급-환경변수-시스템변수의 Path에 아래내용 추가.
TNS_ADMIN = D:\OraInstance  
path = D:\OraInstance;
LD_LIBRARY_PATH=D:\OraInstance
-- 기존 한글이 UTF-8이아니면..넣어주시는 센스..
NLS_LANG = KOREAN_KOREA.KO16MSWIN949

설명에는 TOAD 9.0버전 받으라고 하던데..
짜잔... 제가 가진게 TOAD 9.5버전도 하니... 전 뜨더랍니다.
Posted by 말없제이
,
sqlplus hr/hr

-- ORA-28000: the account is locked 오류시
-- 30일동안(Default) 해당 계정으로 로그인을 하지 않았을 경우 lock 걸림
-- 잘못된 패스워드로 지속적인 로그인
--

sqlplus "/ as sysdba"  로 접속

-- lock 걸린 User 찾기
SELECT username, account_status, to_char(lock_date,'yy/mm/dd hh24:mi') lock_date, profile
  FROM dba_users;
 
-- Lock 풀기 (유저가 system 일 경우)
ALTER USER SYSTEM account unlock; 

-- 패스워드 변경
ALTER USER SYSTEM IDENTIFIED BY manager;

sqlplus hr/hr
conn hr/hr

C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN(실행계획)

@utlxplan.sql
desc plan_table
set autotrace traceonly explan
select * from employees;

참조 : http://widecheon.tistory.com/220

Posted by 말없제이
,

*.모델링...
--dept table의 deptno에는 pk추가
alter table dept
add constraint dept_pk primary key(deptno)

--emp2 table에 deptno컬럼추가후 fk로 추가.
alter table emp2
add deptno number(2)
add constraint emp2_fk foreign key(deptno) references dept(deptno)

--alter table emp2
--drop column deptno

--alter table emp2
--drop constraint emp2_fk

--emp2의 ename컬럼의 제약조건 삭제.
alter table emp2
drop constraint EMP2_NN

--emp2 스티븐의 부서번호 10번
update emp2
set deptno=10 where ename='스티븐'

update emp2
set deptno=10 where ename='니나'

ex)차수 관계. 예시
--부서 : 사원정보 1:다 관계(배치된다:소속된다)
--부서 : 부서장 1:1 관계(교과강사:교과과정)
--사원 : 물품 다:다 관계(학원접수받다:학원등록한다)

*.관계조건
- 필수사양 : ────
- 선택사양 : …………

create table dept2
as
select * from dept
--테이블과 내용은 복사되지만 제약조건은 복사안됨.

alter table dept2
add constraint dept2_pk primary key(deptno)

select * from user_constraints where table_name='DEPT2'

emp2 -- dept
deptno(fk) -- deptno(pk)

emp3 -- dept3
deptno(fk) -- deptno(pk)

--테이블명 변경.(9i이상)
rename 구테이블명 to 새테이블명
rename dept2 to dept3

create table emp3
as
select * from emp2

alter table emp3
add constraint emp3_fk foreign key(deptno) references dept3(deptno)

--emp2의 부모인 dept; 삭제.
drop table dept;
ORA-02449: 외래 키에 의해서 참조된 테이블에 유일/기본 키입니다

select R_CONSTRAINT_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME
from user_constraints;

alter table emp2
drop constraint EMP2_FK;

drop table dept;

--emp3 부모 dept3 삭제
drop table dept3 cascade constraint;


===================================================


 

Posted by 말없제이
,

*.제약조건.
- 목적 :
- NOT NULL : 해당 컬럼값으로 NULL허용하지않음
- UNIQUE : 테이블내 컬럼값은 유일한값.
- PRIMARY KEY : 테이즐내 기준이 될수있는 컬럼값 -> entity를 대표/업무활용도/키값
- FOREIGN KEY : 해당컬럼값이 다른 컬럼값 참조해야함.
- CHECK : 저장데이터 값의범위나 조건 지정
 check(조건) ~
-- 회원번호를 추가로 저장
mno number(5)

-- 제약조건
create table 테이블명
(
컬럼 컬럼크기 [컬럼레벨:CONSTRAINT 제약조건명 [primay key | not null | unique | check(~)]] | [default]
[테이블레벨:CONSTRAINT 제약조건명 컬럼타입(컬럼명)]
)

--회원번호(pk),id(nn), 비밀번호, 이름(nn), 주민번호(uk), 전화번호, 등록일, 지역(ck)
create table member2
(
mno number(5) primary key
, id varchar2(10) not null
, pwd varchar2(5)
, mname varchar2(10) not null
, ssn char(14) unique
, tel varchar2(14)
, loc varchar(10) check(loc in ('서울','인천','부천','포천','제주'))
);

--
insert into member2
values (1,'aa','123','홍길동','801123-1234567',null,'울산');
--ORA-02290: 체크 제약조건(SUPER.SYS_C003028)이 위배되었습니다

insert into member2
values (1,'aa','123','홍길동','801123-1234567',null,'제주');


insert into member2
values (2,'bb','222','김연아','801123-1234567',null,'포천');
--ORA-00001: 무결성 제약 조건(SUPER.SYS_C003030)에 위배됩니다

insert into member2
values (2,'bb','222','김연아','901123-1234567',null,'포천');


insert into member2
values (3,'cc','333','','911123-1234567',null,'부천');
--ORA-01400: NULL을 ("SUPER"."MEMBER2"."MNAME") 안에 삽입할 수 없습니다

insert into member2
values (3,'cc','','김현중','911123-1234567',null,'부천');


insert into member2
values (3,'dd','123','원빈','791123-1234567',null,'인천');
--ORA-00001: 무결성 제약 조건(SUPER.SYS_C003029)에 위배됩니다

insert into member2
values (4,'dd','123','원빈','791123-1234567',null,'인천');

*.제약조건 조회
select constraint_name, constraint_type, table_name
from user_constraints;

-- member3
create table member3
(
mno number(5) constraint mem3_mno_pk primary key
, id varchar2(10) constraint mem3_id_nn not null
, pwd varchar2(5)
, mname varchar2(10) constraint mem3_mname_nn not null
, ssn char(14) constraint mem3_ssn_uk unique
, tel varchar2(14)
, loc varchar(10) constraint mem3_loc_ck check(loc in ('서울','인천','부천','포천','제주'))
);

-- 조회
select constraint_name, constraint_type, table_name
from user_constraints
where table_name='MEMBER3';

create table member4
(
mno number(5) constraint mem4_mno_pk primary key
, id varchar2(10) constraint mem4_id_nn not null
, pwd varchar2(5) default '1004'
, mname varchar2(10) constraint mem4_mname_nn not null
, ssn char(14) constraint mem4_ssn_uk unique
, tel varchar2(14)
, loc varchar(10) constraint mem4_loc_ck check(loc in ('서울','인천','부천','포천','제주'))
);

insert into member4
values (2,'bb',null,'자기야','791223-1234567',null,'인천');

insert into member4
values (1,'aa','','자기야','791123-1234567',null,'인천');

       MNO ID         PWD   MNAME      SSN            TEL            LOC
---------- ---------- ----- ---------- -------------- -------------- ----------
         2 bb               자기야     791223-1234567                인천
         1 aa               자기야     791123-1234567                인천

insert into member4 (mno,id,mname,ssn,loc)
values (3,'cc','저기야','791113-1234567','서울');

       MNO ID         PWD   MNAME      SSN            TEL            LOC
---------- ---------- ----- ---------- -------------- -------------- ----------
         2 bb               자기야     791223-1234567                인천
         1 aa               자기야     791123-1234567                인천
         3 cc         1004  저기야     791113-1234567                서울

--단점 : 테이블레벨에서는 not null 정의 할수 없다.
--장점 : 제약조건 여러개 추가.
--테이블레벨 제약조건있는 member5 작성
--id에 unique제약조건 추가.
create table member5
(
mno number(5)
, id varchar2(10) constraint mem5_id_nn not null
, mname varchar2(10) constraint mem5_mname_nn not null
, ssn char(14)
, loc varchar(10)
, constraint mem5_mno_pk primary key(mno)
, constraint mem5_id_uk unique(id)
, constraint mem5_ssn_uk unique(ssn)
, constraint mem5_loc_ck check(loc in ('서울','인천','부천','포천','제주'))
);

*.제약조건 constraint
-목적 : DB관련 편리성 확보 -> DB무결성확보
-primary key : not null + unique -> entity를 대표(업무활용높은것)

*.계약조건조회
select constraint_name, constraint_type, table_name
from user_constraints

*.table생성
-제약조건 X
  ->제약조건 추가,삭제
alter table 테이블명
 - add 컬럼명 constraint 제약조건명 제약조건
 - drop 제약조건명
 - modify(유일하게 not null에서 사용) 컬럼명 constraint 제약조건명 제약조건

-제약조건 O(제약조건이름X) 생성
create table 테이블명
(
컬럼명 데이터타입(크기),
컬럼명 데이터타입(크기) default 기본값
)
-제약조건 O(제약조건이름O) 생성
create table 테이블명
(
컬럼명 데이터타입(크기)
constraint 제약조건명 제약조건,
)

create table 테이블명
(
컬럼명 데이터타입(크기),
컬럼명 데이터타입(크기),
제약조건 constraint 제약조건명 제약조건(컬럼명)
)

--jobinfo 테이블생성 제약조건은 추후에 추가
--job_id varchar2(10) -> pk
--job_title varchar2(20) -> nn
create table jobinfo
(
job_id varchar2(10)
,job_title varchar2(20)
)

alter table jobinfo
add constraint jobinfo_pk primary key(job_id)

--emp2 테이블생성 제약조건은 추후에 추가
--empno number(5) -> pk
--ename varchar2(10) -> nn
--job_id varchar2(10) -> fk
create table emp2
(
empno number(5)
,ename varchar2(10)
,job_id varchar2(10)
)

--fk제약조건
--alter tale 테이블명
-- add [contraint 제약조건이름] foreign key(컬럼명) references 상위테이블(상위컬럼명)

alter table emp2
add constraint emp2_pk primary key(empno)
add constraint emp2_fk foreign key(job_id) references jobinfo(job_id)


alter table emp2
modify ename constraint emp2_nn not null

alter table jobinfo
modify job_title constraint jobinfo_nn not null

============================
*.constraint와 DML
--
상태 : 부모(jobinfo) / 자식(emp2)
insert : O / 부모 키값의 존재여부
update : 자식 키값의 존재여부 / 부모 키값의 존재여부
delete : 자식 키값의 존재여부 / O
--
desc jobinfo
desc emp2

insert into jobinfo
values('AD_PRES','President');
insert into jobinfo
values('AD_VP','Admin Vice President');
insert into jobinfo
values('AD_ASST','Admin Assistant');
insert into jobinfo
values('FI_MGR','Finance Manager');
insert into jobinfo
values('FI_ACCOUNT','Accountant');

insert into emp2
values(100,'스티븐','AD_PRES','');

insert into emp2
values(101,'니나','AD_VP','');

insert into emp2
values(111,'렉스','FI_MGR');

insert into emp2
values(112,'다니엘','FI_ACCOUNT');

--emp2의 다니엘의 empno를 120으로 수정
update emp2
set empno=120 where ename='다니엘';

--emp2의 다이넬의 job_id를 AD_ASST로 수정.
update emp2
set job_id='AD_ASST' where ename='다니엘';

--다니엘의 job_id를 it_pg로 수정
update emp2
set job_id='IT_PG' where ename='다니엘';

ORA-02291: 무결성 제약조건(SUPER.EMP2_FK)이 위배되었습니다- 부모 키가 없습니다

--FI_MGR컬럼값을 FI_MG로 수정
update jobinfo
set job_id='FI_MG' where job_id='FI_MGR';

ORA-02292: 무결성 제약조건(SUPER.EMP2_FK)이 위배되었습니다- 자식 레코드가 발견되었습니다

--FI_ACC컬럼값을 FI_ACCOUNT로 수정
update jobinfo
set job_id='FI_ACCOUNT' where job_id='FI_ACC';

--jobinfo테이블에서 fi_acc삭제
delete from jobinfo
where job_id='FI_ACCOUNT'

--jobinfo테이블에서 fi_mgr삭제
delete from jobinfo
where job_id='FI_MGR'
ORA-02292: 무결성 제약조건(SUPER.EMP2_FK)이 위배되었습니다- 자식 레코드가 발견되었습니다

--emp2테이블에서 '다니엘' 삭제
delete from emp2
where ename='다니엘'

--emp2테이블에서 '렉스' 삭제
delete from emp2
where ename='렉스'


 

Posted by 말없제이
,

--
복습
*.user생성
create user user명
identified by 비번

--> 접속권한(role) 부여
grant 권한[,권한] to 사용자명.

--> 권한 회수
revoke 권한[,권한] from 사용자명.

*.user수정
alter user user명
indentified by 비번
[acoount {lock|unlock}]

*.user삭제
drop user user명

*.table 생성
create table table명 (컬럼 데이터타입(크기)[,..])

*.table 수정
alter table table명
-기존구조에서 추가(컬럼,제약조건) : add
-변경을 하면서(컬럼데이터타입,크기) : modify
-삭제(컬럼,제약조건) : drop

*.table 삭제
drop table table명

*.데이터 타입(data type)
- 날짜 : date, timestamp(1/1만 초까지 보여줌), time with time zone, time with local time zone
- 문자 : char(고정길이), varchar2(가변길이), long
- 숫자 : number[(p[,s])]
- 오브젝트 타입 : clob, blob
-->to_number(~,~), to_char(~,~), to_date(~,~)
--

=====================
*.subqeury를 이용한 테이블 생성


--급여가 3500이상되는 사원의
-- emp의 사원번호, 사원명, 급여를 가진 emp1 table생성
create table emp1 as
select empno, ename, sal from emp where sal >= 3500;

-- 컬럼추가, 변경.
alter table emp1
add etc varchar2(50)

-- emp1 에 7900,'한가인',3600,'한가인아주아주이뻐요~~' 입력
insert into emp1
values (7900,'한가인',3600,'한가인아주아주이뻐요~~');

-- emp1에 비고의 크기를 50->10으로 수정
alter table emp1
modify etc varchar2(30)


--etc 컬럼 데이터 유형을 변형할 열을 비워주세요.
update emp1
set etc=''
where etc is not null;

alter table emp1
modify etc number(5)

-- 컬럼삭제
alter table 테이블명
drop column 컬럼명.

===========
entity이루어(테이블명) : 회원(member)
attribute이루어(컬럼명) :
id, 비밀번호, 이름, 주민번호, 전화번호, 등록일, 지역
id varchar2(10)
, pwd varchar2(5)
, mname varchar2(10)
, ssn char(14)
, tel varchar2(14)
, regiday varchar2(14)
, loc varchar2(10)

-super user에서 작업
1.회원 테이블 생성
2.생성된 회원테이블에 데이터를 입력
3.생성된 회원테이블에 loc컬럼 추가
4.추가된 loc컬럼에 각각 서울,경기,부천,포천,제주로 한해. 저장.
create table member
(
id varchar2(10)
, pwd varchar2(5)
, mname varchar2(10)
, ssn char(14)
, tel varchar2(14)
, regiday varchar2(14)
);

alter table member
modify regiday date;

insert into member
values ('id1','pwd1','mname1','123456-7890123','0007-1234-5678',sysdate);
insert into member
values ('gaojao','1234','이해석','820325-1234567','02)1234-4567','2009-06-15');
insert into member
values ('woals','4321','이재민','821123-1234567','031)111-5678','2009-07-01');

alter table member
add loc varchar2(10);

update member set loc='서울' where id='gaojao';
update member set loc='인천' where id='woals';
update member set loc='제주' where id='id1';
commit;

Posted by 말없제이
,

*.tablespace생성
create tablespace 테이블스페이스명
datafile '~~물리적인경로' size ~
ex)
create tablespace jp2
datafile 'D:\study\oracle\jp2-1.dbf' size 100m

생생 조회.
select tablespace_name, file_name, user_bytes
from dba_data_files
where tablespace_name='JP2'

*.temporary tablespace생성
create temporary tablespace 테이블스페이스명
tempfile '~~물리적인경로' size ~
ex)
create temporary tablespace jp2_temp
tempfile 'D:\study\oracle\jp2temp-1.dbf' size 50m

*.user생성
create user user명
identified by 비번
[default tablespace 테이블스페이스명 사이즈]
[temporary tablespace 테이블스페이스명 사이즈] (일시적인 작업)
ex)
create user super
identified by man
default tablespace jp2
temporary tablespace jp2_temp

*.롤(role:권한들의 집합)부여
grant 권한,권한 to user명.
-dba :
-connet :
-resource :
ex)
grant connect, resource to super


*.scott의 table. 기존sql스크립으로 생성.
@D:\oracle\ora92\sqlplus\demo\demobld.sql

*.table생성
create table table명(
컬럼명 테이터타입(크기)[,..]
)
ex)
create table mtest(
m1 char(10),
m2 varchar2(10)
)

*.데이터 타입(문자/숫자/..)
*.문자
-char : 고정길이 문자형,2000byte,
-varchar2 : 가변길이 문자형,4000byte,
-long : 2g
ex)
  1* select m1,m2,m1||m2,m2||m1 from mtest
SQL> /

M1         M2         M1||M2               M2||M1
---------- ---------- -------------------- -----------------
abcde      qqq        abcde     qqq        qqqabcde
oracle     hahahoho   oracle    hahahoho   hahahohooracle

*.숫자
-number :
-number(p) : 저살슈 5저라,
-number(p,s) : 소수점 자리포함하여 5자리
ex)
create table stest(
s1 number,
s2 number(5),
s3 number(5,2)
);

*.날짜
-date
-timestamp
-timestamp with time zone
-timestamp with local time zone
ex)
create table dtest(
d1 date,
d2 timestamp
)


- - - - - - -
*.제약조건.

Posted by 말없제이
,