달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
var curr_date = new Date(); 
var year = curr_date.getYear();		//년
var month = curr_date.getMonth();	//월
var day = curr_date.getDay();		//일
var hours = curr_date.getHours();	//시
var mins = curr_date.getMinutes();	//분
var secs = curr_date.getSeconds();	//초


'Dev Language > JAVASCRIPT' 카테고리의 다른 글

javascript 쿠키 셋팅,추출  (0) 2015.06.02
getElementsByClass  (0) 2015.04.21
JAVASCRIPT PARAM 값 가져오기  (0) 2015.03.19
PC, MOBILE, TABLET 디바이스타입 파악  (0) 2015.03.17
script 암호화 encrypted  (0) 2015.02.24
Posted by 타카스 류지
|

일반적인 파라미터로 가져오는 데이터는

 

예> ?aaa=111&bbb=222&ccc=333

request.getParameter("Key 값")

 

위와 같은 방식으로 가져올수있는데

 

HttpClient client = new HttpClient();

GetMethod method = new GetMethod("naver.com");

 

방식으로 데이터롤 리턴받을시에

post 방식으로 param 값이 넘어올때 데이터를 각 각 parameter 단위로

나누어서 사용할때가 있다 그럴때 사용하면된다.

 

#선언

 public String getRtnParams(String[] values,String paramName){
  String rtnval="";
  for( int x = 0; x < values.length; x++ )
  {
   String strName = values[x].split("=")[0];
   if(strName.toUpperCase().equals(paramName.toUpperCase())){
    rtnval = values[x].split("=")[1];
    break;
   }
  }
  return rtnval;
 }

 

 

#사용법

1차 & 단위로 분할

String[] values = new String(responseBody).split("&");

 

#호출

getRtnParams(values, "Key 값")

Posted by 타카스 류지
|
//선언
var Request = function(){
	this.getParameter = function(name){
		var rtnval='';
		var nowAddress = unescape(location.href);
		var parameters = (nowAddress.slice(nowAddress.indexOf('?')+1,nowAddress.length)).split('&');
		for(var i = 0 ; i< parameters.length ; i++){
			var varName = parameters[i].split('=')[0];
			if(varName.toUpperCase() == name.toUpperCase()){
				rtnval = parameters[i].split('=')[1];
				break;
			}
		}
		return rtnval;
	}
}

 
//사용법
var request = new Request();
request.getParameter('key 값')

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

getElementsByClass  (0) 2015.04.21
JAVASCRIPT 날짜 사용하기  (0) 2015.04.07
PC, MOBILE, TABLET 디바이스타입 파악  (0) 2015.03.17
script 암호화 encrypted  (0) 2015.02.24
타이머  (0) 2015.02.24
Posted by 타카스 류지
|
  //디바이스타입 파악을 위한 변수
  var MOBILE_USER_AGENT_PREFIXES = [ "w3c ", "w3c-", "acs-", "alav",
     "alca", "amoi", "audi", "avan", "benq", "bird", "blac", "blaz", "brew",
     "cell", "cldc", "cmd-", "dang", "doco", "eric", "hipt", "htc_", "inno",
     "ipaq", "ipod", "jigs", "kddi", "keji", "leno", "lg-c", "lg-d", "lg-g",
     "lge-", "lg/u", "maui", "maxo", "midp", "mits", "mmef", "mobi", "mot-",
     "moto", "mwbp", "nec-", "newt", "noki", "palm", "pana", "pant", "phil",
     "play", "port", "prox", "qwap", "sage", "sams", "sany", "sch-", "sec-",
     "send", "seri", "sgh-", "shar", "sie-", "siem", "smal", "smar", "sony",
     "sph-", "symb", "t-mo", "teli", "tim-", "tosh", "tsm-", "upg1", "upsi",
     "vk-v", "voda", "wap-", "wapa", "wapi", "wapp", "wapr", "webc", "winw",
     "winw", "xda ", "xda-" ];
  var MOBILE_USER_AGENT_KEYWORDS = [ "blackberry", "webos", "ipod",
     "lge vx", "midp", "maemo", "mmp", "netfront", "hiptop", "nintendo DS",
     "novarra", "openweb", "opera mobi", "opera mini", "palm", "psp",
     "phone", "smartphone", "symbian", "up.browser", "up.link", "wap",
     "windows ce" ];
  var TABLET_USER_AGENT_KEYWORDS = [ "ipad", "playbook", "hp-tablet" ]; 
 
  //디바이스타입 파악
  // @returns NORMAL(PC), MOBILE, TABLET
  function getDeviceType() {
   var userAgent = navigator.userAgent.toLowerCase();
   if (userAgent != null && userAgent.length > 0) {
    var tUserAgent = userAgent.slice(0, 4);
     
    for ( var i = 0; i < MOBILE_USER_AGENT_PREFIXES.length; i++) {
     if (tUserAgent.indexOf(MOBILE_USER_AGENT_PREFIXES[i], 0) != -1) {
      return 'MOBILE';
     }
    }
   }
   
   for ( var i = 0; i < MOBILE_USER_AGENT_KEYWORDS.length; i++) {
    if (userAgent.indexOf(MOBILE_USER_AGENT_KEYWORDS[i], 0) != -1) {
     return 'MOBILE';
    }
   }
   
   for ( var ii = 0; ii < TABLET_USER_AGENT_KEYWORDS.length; ii++) {
    if (userAgent.indexOf(TABLET_USER_AGENT_KEYWORDS[ii], 0) != -1) {
     return 'TABLET';
    }
   }
   
   if (userAgent.indexOf("android") != -1 && userAgent.indexOf("mobile") != -1) {
    return 'MOBILE';
   } else if (userAgent.indexOf("android") != -1
     && userAgent.indexOf("mobile") == -1) {
    return 'TABLET';
   }
   return 'NORMAL';
  } 
   
  //Parameters를 parsing
  // @returns (JSON) parameters
 function getBroadCastParam(){
  
  var param ={};
  var varName = '';
  var value = '';
  var nowAddress = decodeURIComponent(location.href);
  var parameters = '';
   
  if(nowAddress.indexOf('?') != -1){
   parameters = (nowAddress.slice(nowAddress.indexOf('?')+1,nowAddress.length)).split('&');
   for(var i = 0 ; i < parameters.length ; i++)  {
    varName = parameters[i].split('=')[0];
    value = parameters[i].split('=')[1];
    param[varName] = value;
   }
  }
   
  param["deviceType"] = getDeviceType();
  param["proxyPage"] = "Y";
   
  return param;
 }
  
 
  
 /* ★사용법★*/
  var param = getBroadCastParam();
  if (param["deviceType"] != 'MOBILE') {
      param["deviceType"] = 'NORMAL';
  }

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

JAVASCRIPT 날짜 사용하기  (0) 2015.04.07
JAVASCRIPT PARAM 값 가져오기  (0) 2015.03.19
script 암호화 encrypted  (0) 2015.02.24
타이머  (0) 2015.02.24
달팽이 for문  (0) 2015.02.24
Posted by 타카스 류지
|

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]

 

OEMInformation 항목 편집기 오른쪽 빈 공간을 우 클릭 새로 만들기 > 문자열 값을 클릭하고

 

이름을 logo 로 변경 후 값 데이터를 이미지 파일이 있는 전체 path 를 적어주면 끝

Posted by 타카스 류지
|

## administrator 사용하기 ##

 

 

[1] 7 & (8.8.1) pro 이하

 

cmd.exe 관리자 권한으로 실행

 

net user administrator /active:yes 입력

 

계정 로그오프 후 administrator 선택

 

 

 

[2] 8 & 8.1  pro 이상

 

 

 

 

 

관리자 권한 메세지가 계속 출력될시

 

 

 

 

 

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000

 

레지스트리까지 수정하면은 부팅

 

 

 

Posted by 타카스 류지
|

사용하다보면은 쿼리를 날렸을때 데이터가 많아서 세션을 계속 물고있는경우가 있다 이럴경우에

 


select
    oracle_username || ' (' || s.osuser || ')' username
  , s.sid || ',' || s.serial# sid_serial
  , owner || '.' || object_name object
  , object_type
  , decode( l.block
          ,0, 'Not Blocking'
          ,1, 'Blocking'
          ,2, 'Global') status
          ,decode(v.locked_mode
            ,0, 'None'
            ,1, 'Null'
            ,2, 'Row-S (SS)'
            ,3, 'Row-X (SX)'
            ,4, 'Share'
            ,5, 'S/Row-X (SSX)'
            ,6, 'Exclusive', TO_CHAR(lmode)) mode_held
from v$locked_object v
    ,dba_objects d
    ,v$lock l
    ,v$session s
where v.object_id = d.object_id
and   v.object_id = l.id1
and   v.session_id = s.sid
order by oracle_username,session_id



위 주문으로 sid 랑 serial 을 가지고 아래 구문으로 실행하면은 세션이 죽는다.

 

alter system kill session 'sid,serial';


'Database > ORACLE' 카테고리의 다른 글

oracle LISTAGG 사용하기  (0) 2016.04.28
oracle 초성검색 function(mssql function 수정)  (0) 2016.04.19
패키지 생성 암호화 CRYPTO  (0) 2015.02.24
oracle 외부접속  (0) 2015.02.24
where절에 if문처럼 and조건 사용하기  (1) 2015.02.24
Posted by 타카스 류지
|
GRANT EXECUTE ON DBMS_CRYPTO TO [계정명];
GRANT EXECUTE ON DBMS_OBFUSCATION_TOOLKIT TO [계정명];
 
//암호화
SELECT PKG_CRYPTO.ENCRYPT('TEST_PASS') FROM DUAL;
//복호화
SELECT PKG_CRYPTO.DECRYPT('51C6B8ABD615F6F097659BF9E75C353C') FROM DUAL;
/***헤더***/
CREATE OR REPLACE PACKAGE PKG_CRYPTO
 IS
 /******************************************************************************
  암호화
 ******************************************************************************/
 FUNCTION ENCRYPT(V_INPUT_STRING IN VARCHAR2,
                  V_KEY IN VARCHAR2 := 'KHJAVA301$') --> 비밀키 초기값 선언
 RETURN RAW; --> RAW : 원시데이터타입. 알아볼 수 없도록 하기 위해서
 /******************************************************************************
  복호화
 ******************************************************************************/
 FUNCTION DECRYPT(V_INPUT_STRING IN VARCHAR2, --> 암호화되어진 문자 그대로 넣어줌
                  V_KEY IN VARCHAR2 := 'KHJAVA301$') --> 복호화할 비밀키
 RETURN VARCHAR2;
 END PKG_CRYPTO;
 
/***바디***/
CREATE OR REPLACE PACKAGE BODY PKG_CRYPTO
 IS
  V_KEY_RAW RAW(64);
  /******************************************************************************
  암호화
 ******************************************************************************/
  FUNCTION ENCRYPT(V_INPUT_STRING IN VARCHAR2,
                  V_KEY IN VARCHAR2 := 'KHJAVA301$') --> 비밀키 초기값 선언
  RETURN RAW
  IS
  V_ORIGINAL_RAW RAW(64);
  V_ENCRYPTED_RAW RAW(64);
  
  BEGIN
   V_ORIGINAL_RAW := UTL_I18N.STRING_TO_RAW(V_INPUT_STRING,'AL32UTF8'); --> 문자열을 RAW 타입으로 바꿔 줌
   V_KEY_RAW      := UTL_I18N.STRING_TO_RAW(V_KEY, 'AL32UTF8');
   
   V_ENCRYPTED_RAW := DBMS_CRYPTO.ENCRYPT(SRC => V_ORIGINAL_RAW
                                         ,TYP => DBMS_CRYPTO.DES_CBC_PKCS5
                                         ,KEY => V_KEY_RAW, IV => NULL);                      
   RETURN V_ENCRYPTED_RAW;
  END ENCRYPT;
  /******************************************************************************
  복호화
 ******************************************************************************/
  FUNCTION DECRYPT(V_INPUT_STRING IN VARCHAR2, --> 암호화되어진 문자 그대로 넣어줌
                  V_KEY IN VARCHAR2 := 'KHJAVA301$') --> 복호화할 비밀키
  RETURN VARCHAR2
  
  IS
  V_DECRYPTED_RAW  VARCHAR2(64);
  V_DECRYPTED_CHAR VARCHAR2(64);
  BEGIN
   V_KEY_RAW := UTL_I18N.STRING_TO_RAW(V_KEY, 'AL32UTF8');
   
   V_DECRYPTED_RAW := DBMS_CRYPTO.DECRYPT(SRC => V_INPUT_STRING
                                        ,TYP => DBMS_CRYPTO.DES_CBC_PKCS5
                                        ,KEY => V_KEY_RAW, IV => NULL);
   V_DECRYPTED_CHAR := UTL_I18N.RAW_TO_CHAR(V_DECRYPTED_RAW,'AL32UTF8');
   
   RETURN V_DECRYPTED_CHAR;
  END DECRYPT;
 END PKG_CRYPTO;

'Database > ORACLE' 카테고리의 다른 글

oracle 초성검색 function(mssql function 수정)  (0) 2016.04.19
세션 킬(Session Kill)  (0) 2015.02.24
oracle 외부접속  (0) 2015.02.24
where절에 if문처럼 and조건 사용하기  (1) 2015.02.24
ORACLE 백업 복원,암호 복원  (0) 2015.02.24
Posted by 타카스 류지
|

오라클 cmd 계정 바로가기 아이콘 & 접속


1) 바탕화면 -> 새로 만들기 -> 바로 가기

2) 항목 위치 입력 ( cmd.exe /K sqlplus scott/tiger )
3) 바로가기에 사용할 이름 ( sqlplus scott )
 

 


cmd 바로가기 아이콘 으로 외부 외부 오라클 서버 접속
 
1) 바탕화면 -> 새로 만들기 -> 바로 가기

2) 항목 위치 입력 ( cmd.exe /K sqlplus scott/tiger@SID_IP )
 
ex ) cmd.exe /K sqlplus scott/toger@ORA_192.168.0.1
  
oracle 9i 기준 : tnsnames.ora에 설정 ip, sid 추가해 주면 된다.
 
oracle home directory -> ora92 -> network -> admin ->

 
tnsnames.ora 설정 추가
 

ORA_192.168.0.1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ORCL)
      (SERVER = DEDICATED)
    )
  )
 

참고 : sys 접속 방법 cmd.exe /K sqlplus sys@ORA_192.168.0.1 as sysdba
 

 

'Database > ORACLE' 카테고리의 다른 글

세션 킬(Session Kill)  (0) 2015.02.24
패키지 생성 암호화 CRYPTO  (0) 2015.02.24
where절에 if문처럼 and조건 사용하기  (1) 2015.02.24
ORACLE 백업 복원,암호 복원  (0) 2015.02.24
SQL 명령어  (0) 2015.02.24
Posted by 타카스 류지
|

where절

AND (((30 = A.QRY_RNG ) AND (A.REQ_DEPT LIKE '%'||''||'%'))

       OR ((10 = A.QRY_RNG  ) and (A.REQ_DEPT LIKE '%'||?||'%')))

 

위 구문을 풀이해보면


if (30 == A.QRY_RNG) {

   A.REQ_DEPT_LIKE '%'||''||'%'

}else if ( 10 == A.QRY_RNG) {

  A.REQ_DEPT_LIKE '%'||?||'%'

}


 

'Database > ORACLE' 카테고리의 다른 글

패키지 생성 암호화 CRYPTO  (0) 2015.02.24
oracle 외부접속  (0) 2015.02.24
ORACLE 백업 복원,암호 복원  (0) 2015.02.24
SQL 명령어  (0) 2015.02.24
비교 UPDATE 구분  (0) 2015.02.24
Posted by 타카스 류지
|

1. 오라클 계정으로 이동한다. (참고: 오라클 exp명령어는 sqlplus로 접속해서 수행하는것이 아니라 oracle 계정에서 수행한다.)


백업
=================================================================================
#su - oracle
#exp
 username: 유저이름
 Password: 패스워드

 버퍼사이즈 (용량)  > 용량
 
 Export file: expdat.dmp > xxxx.dmp  :덤프파일이름지정해준다.
 
 (2)U(sers), or (3)T(ables): (2)U > U  : 유저로 백업할것인가 테이블로 백업할 것인가

 Export grants (yes/no): yes >    엔터

 Export table data (yes/no): yes >  엔터
 
 Compress extents (yes/no): yes >   엔터

백업된 파일을 확인한다.
=================================================================================

 

 

복원
=================================================================================
#imp system/패스워드 fromuser=유저이름 touser=유저이름 file=덤프이름.dmp commit=y ignore=y <--오류시 다음진행
=================================================================================

tip : with warning 가 나타날때
---------------------------------------------------------------------------------
imp 하실때
두번째 물음에서 defult no 하시지 마시고
yes 하세요

Export file created by EXPORT:V10.02.01 via conventional path
import done in KO16KSC5601 character set and AL16UTF16 NCHAR character set
List contents of import file only (yes/no): no >

Ignore create error due to object existence (yes/no): no > yes
---------------------------------------------------------------------------------

 

'Database > ORACLE' 카테고리의 다른 글

oracle 외부접속  (0) 2015.02.24
where절에 if문처럼 and조건 사용하기  (1) 2015.02.24
SQL 명령어  (0) 2015.02.24
비교 UPDATE 구분  (0) 2015.02.24
컬럼 정보 확인  (0) 2015.02.24
Posted by 타카스 류지
|

SQL 명령어

Database/ORACLE 2015. 2. 24. 11:52
* 검색 - 오라클 명령어에서 대소문자를 가리지는 않지만, 검색시에는 구분함.
    1) select
        a) distinct - 중복행제거
        b) * - all
        c) alias - 해당 컬럼에 다른 이름 부여 : as키워드를 사용하면 명시적이고
                                                                         따옴표로 묶으면, 대소문자 구분 가능
        d) 컬럼값중 숫자형 데이터는 산술연산 가능
        e) || - 연결연산자
        f) 작은따옴표 - 컬럼에 있는 데이터는 아니지만, 따옴표사이의 내용이 모든 행에 표시된다. 연결연산자와
           함께 사용하는 경우가 일반적
    2) where - from 절 다음에 와야 한다.
        a) and -
AND 연산일 경우에는 거짓이 앞에 있는 게 좋고, OR 연산자일 경우에는 참이 앞에 있는 것이 좋다
        b) or
        c) between ~ and ~ - 이상, 이하의 개념임. 미만, 보다일경우는 부등호 기호 사용
        d) in ( 'x', 'y', 'z' )
        e) is null / not -
NOT이 들어간 SQL 연산자는 사용을 하지 않는 것이 좋다. (ex. NOT IN, IS NOT NULL)
            null값으로 들어간 데이터를 확인하는 용도로 쓰인다.
        f) like
            i) %
            ii) _
            iii) like 'aa\%%' escape '\'
    3) order by 칼럼이름 [asc|desc]

    4) group by - 테이블보다 작은 그룹으로 묶어서 값을 얻으려 할 때 사용
        a) ROLLUP (a, b, c) - grouping sets( (a, b, c), (a, b), (a), ())
        b) CUBE (a, b, c) - grouping sets( (a, b, c), (a, b), (a, c), (b, c), (a), (b), (c), ())
    5) having - group by 의 수행결과에 조건을 부여해서 값을 얻으려 할 때 사용
    6) grouping sets
        a) UNION - 합집합 : 중복된 데이터를 제거하고 데이터를 반환
        b) INTERSECT - 교집합 : 상위 select절과 하위 select 절의 중복된 데이터를 반환
        c) MINUS - 차집합 : 중복된 데이터를 제거
        d) UNION ALL - 합집합+교집합
    7) subquery - select 문 안에 삽입된 select 문



* 기타 명령어
    1) $cls - 화면정리
    2) set time on | off - 시계표시
    3) set timing on | off - 시간체크



* Join - 하나 이상의 테이블로부터 자료를 검색하기 위하여 조인을 사용합니다.
    일반적으로 PK와 FK를 사용하여 조인하는 경우가 대부분이지만, 논리적인 값들의
    연관성으로 조인하는 경우도 있습니다.
    1) where절에 조인 조건을 기술한다.
    2) 명확성을 위해 또는 효율성을 위해, 컬럼이름앞에 테이블 이름을 붙인다.
    3) 테이블을 조인하는 경우, 같은 컬럼이 존재하면, 컬럼명앞에 테이블명을 붙인다.

        a) Equijoin
        b) Non-Equijoin
        c) Outerjoin
        d) Selfjoin



* Equijoin
    조인조건에서 = 을 사용하여, 값들이 일치하는 경우에 사용하는 조인을 말한다.
    단순 조인, 또는 내부 조인이라고도 부른다.
    ex) select ename, dname, loc from emp e, dept d where e.deptno=d.deptno;
        Select tab1.col1 [, tab2.col2, ......]
        From tab1, tab2
        Where tab1.col1 = tab2.col2;



* Non-Equijoin
    테이블사이에 관련성이 없을 경우의 조인을 말한다. 비동등연산자를 사용 ex) between ~ and ~
    ex) select ename, grade from emp, salgrade where sal between losal and hisal;



* Outerjoin
    조인을 실행하다보면, 조인 조건에 맞지않아서, 화면에 나타나진 않지만, 조건만 맞으면,
    바로 출력될 수 있는 그런 행들을, 조인 조건과 무관하게 화면에 나타내기위한 조인을 말한다.
    ex) select ename, e.deptno, dname, loc from emp e, dept d where e.deptno(+)=d.deptno;
        salgrade테이블의 deptno 40번은, emp테이블에서 접근할 때, 조인조건여하에 따라 대개는
        나타나지 않는다. 이런 40번 행 조차도, 출력을 원하는 경우에 사용한다.



* Selfjoin
    같은 테이블에 대해 두개의 별칭을 작성하여, 테이블을 구분함으로서, From 절에 두개의
    테이블을 사용하는 것과 같은 조건을 만든다.
    ex) select e1.ename, e2.ename "Manager" from emp e1, emp e2 where e1.mgr=e2.empno;



* SubQuery
    다른 select 문에 내장된 또 하나의 select문이다.
    1) 서브쿼리는 괄호로 묶어야 한다.
    2) 연산자의 오른쪽에 위치해야한다.
    3) 서브쿼리에서는 order by 절을 포함하기 힘들다.
    ex)
        i) select avg(sal) from emp;
        ii) select * from emp where sal > 2133;
        iii) select * from emp where sal > (select avg(sal) from emp);



* DB 조작명령어 구분
    1) DML - Data Manipulation Language
    - SELECT : 검색

    - INSERT : 삽입
        ex) insert into 테이블이름 [(컬럼1 [, 컬럼2, .....])] values (값1 [, 값2, ......]);
              insert into 목적테이블이름 select 목적테이블컬럼1 [, 목적테이블컬럼2, ......] from 소스테이블;
              insert all
                        [when 조건1 then] into 테이블이름1
                        [when 조건2 then] into 테이블이름2
                        [else into 디폴트테이블명]
                       
select 목적테이블컬럼1 [, 목적테이블컬럼2, ......] from 소스테이블;

    - UPDATE : 갱신
        ex) update 테이블이름 set 컬럼1=값1 [, 컬럼2=값2, ......] [where 조건];

    - DELETE : 삭제
        ex) delete  [from] 테이블이름 [where 조건];

    - COMMIT : 확인

    - ROLLBACK : 취소
        롤백시킬 위치조절 : (savepoint 임의의이름) v.s. (savepoint to 임의의이름)


    2) DDL - Data Definision Language
    - CREATER : 생성
            ex) create table 테이블이름 ( 컬럼명1 데이타타입 [, 컬럼명2 데이타타입, ......]  );
                  create table 테이블이름 ( 컬럼명1 데이타타입 constraint 테이블명_pk_컬럼명 PRIMARY KEY );
                  create table 테이블이름 ( 컬럼명1 데이타타입 default 디폴트값 );
                    ex) create table emp ( hiredate date default sysdate );
        a) DATA TYPE
            varchar2(문자데이터길이1~4000)
            number(p, s) - 전체 p자리중, 소수점이하 s자리 : 생략가능
            date - 7byte, bc 4712/01/01 ~ ad 9999 12/31
            clob - 대용량 문자, 1~4Gbyte
            blob - 대용량 기타, 1~4Gbyte
        b) 하위질의를 통한 테이블복사
            ex) create table 테이블이름 as select 컬럼명1 [, 컬럼명2, ......] from 존재하는테이블이름(=기존테이블)
                  create table 테이블이름 (컬럼명1 [, 컬럼명2, ......]) as select (컬럼명1 [, 컬럼명2, ......]) from 기존테이블

    - ALTER : 변경
        ex)
            a) 삽입 : alter table 테이블이름 add 컬럼이름 varchar2(10);
            b) 삭제 : alter table 테이블이름 drop column 컬럼이름;
            c) 변경 : alter table 테이블이름 modify 컬럼이름 number;
                           alter table 테이블이름 rename column 원래이름 to 바꿀이름;
        ex) 제약조건없이 이미 생성한 테이블에 제약조건 추가, 삭제
            a) 추가 : alter table 테이블이름 add constraint 제약조건이름_pk PRIMARY KEY(컬럼이름);
            b) 삭제 : alter table 테이블이름 drop constraint 제약조건이름_pk;

    - DROP : 삭제
        ex) drop table 테이블이름;
            a) 휴지통 비우기 : purge recyclebin;
            b) 휴지통 내용보기 : show recyclebin;
            c) 테이블 복원하기 : flashback table 테이블명 to before drop;

    - RENAME : 기존테이블이름을 변경
        ex) rename 원래테이블이름 to 바꿀테이블이름;

    - TRUNCATE : 테이블절단 - 특정컬럼에 해당하지않고, 테이블의 레코드전체를 날려버림.
        ex) truncate teble 컬럼이름;

    3) DCL - Data Control Language
    - 권한 확인 a) select role from dba_roles;
                            @경로\role.sql
                         b) select * from user_tab_privs_recd;
    - Role 확인
        ex) select * from user_role_privs;

    - GRANT : 권한부여
        a) 세션생성(=접속허용) - grant create session to 계정;
        b) 테이블생성 - grant create table to 사용자;
        c) 특정 사용자에게 특정 테이블 권한 부여;
            ex) conn scott/tiger
                  grant select on 테이블이름 to 계정;

    - REVOKE : 권한취소
        a) 접속권한취소 - revoke create session from 계정;
        b) 특정사용자에게 특정 테이블 권한 취소
            ex) revoke select on 테이블이름 from 계정;



* 제약조건
unique UK 중복된 값을 불허
not null NN null값 불허
primary key PK unique와 not null의 조건을 만족
foreign key FK 참조하는 테이블의 컬럼의 값에 연동
check CK 설정한 값만 받아들인다.



* TRANSACTION - 어떤 하나의 작업단위. ex) 은행계좌이체



* Schema 예제
    1) select * from SCOTT.emp; (= select * from emp;) - 자신이 소유한 객체를 언급시에는 객체명앞의
                                                                                        스키마를 생략할 수 있음.
    2) 하지만, 다른 계정에서 emp테이블을 보려고 하면, 자신의 소유가 아니기때문에, 오류가 발생
        한다. 따라서, 자신의 소유가 아닌 객체(테이블등)를 보려면, 그 객체를 소유한 사용자명을 반
        드시 기술해주어야 한다.
    3) 그렇지만, 일단은 타 계정의 객체들을 보려면, 권한을 먼저 얻어야한다. select 권한을 hr계정에서
        scott계정에 부여해, scott계정에서 hr계정의 테이블들을 select로 열어보자.
        a) conn hr/hr
        b) grant SELECT on HR.jobs to SCOTT;
        c) conn scott/tiger
        d) select * from user_tab_privs_recd;  - 권한확인
        e) select * from HR.job;



* Synonym (동의어) - 다른 계정의 객체에 접근할 때, [사용자명.테이블명]으로 표현하는데, 긴 사용자명+
                                    테이블명에 별칭을 부여하여 간단하게 접근할 수 있도록 하는 방법



* Data Dictionary - 오라클 DB내에 저장된 모든 객체(거시기) 정보를 제공합니다.
   System View - (데이터 딕셔너리 뷰)와 (동적성능 뷰) 로 이루어져있으며, 데이타 딕셔너리에 대한
                            내용조회를 가능하게 해 준다.
   Schema - 객체를 소유한 사용자명.
    1) 데이터 딕셔너리 뷰 - 해당 DB에 존재하는 오브젝트 및 기타 정보에 대한 내용을 조회.
        USER_ - 현재 접속한 사용자가 소유한 객체의 정보를 제공
                     - 사용자가 생성한 스키마의 정보를 볼 수 있다. (유저의 시각)

        ALL_ - 사용자가 접근 가능한 모든 스키마(설계도) 의 정보를 제공
                  - 권한을 부여받았기에 가능하다. (유저의 시각을 넓혀줌)

        DBA_ - 데이타베이스 관리를 위한 정보를 제공
                   - 모든 사용자의 스키마 정보를 볼 수 있다.(관리자의 시각)

    2) 동적성능뷰 - 메모리 상태 및 현재 세션에 대한 정보를 확인할 수 있음.
        데이터 딕셔너리 뷰는 DBA_, ALL_, USER_ 로 뷰이름이 시작되는 반면, 동적성능뷰는
        v$로 뷰 이름이 시작된다.

    3) select table_name from user_tables;
        select table_name from all_tables;

        system으로 접속해야만, 접근 가능한 DBA_
        select table_name from dba_tables;

    4) 자주 사용되는 딕셔너리 뷰와 약칭
        테이블 검색 : select table_name from user_tables;
        시퀀스 검색 : select sequence_name, min_value, max_value, increment_by, cycle_flag from user_sequences;
        인덱스 검색 : select index_name, table_name from user_indexes;
        인덱스 컬럼 검색 : select index_name, table_name, column_name from user_ind_columns;
        뷰 검색 : select * from user_views;

        테이블 검색 : select * from tab;
        시퀀스 검색 : select * from seq;

    5) 데이터 사전에 접근
        전체 탐색 : select count(table_name) from dictionary;
        특정 테이블 검색 : select count(table_name) from dictionary where table_name like 'USER%' and table_name like '%TABLE%';
        테이블 설명 참조 : select comments from dictionary where table_name = 'USER_TABLES';

    6) 활용
        사용자 정보 열람 : select username, default_tablespace, temporary_tablespace from dba_users where username = &username;
        사용자 테이블 정보 열람 : select table_name, tablespace_name, partitioned, nested from user_tables where table_name = &table_name;
        제약조건 열람 : select constraint_name, constraint_type from user_constraints where table_name = &table_name;
        View 정보 열람 : select  text from user_views where view_name = &view_name;



* SEQUENCE
    ex) create sequence 시퀀스이름
                                    start with n - 시작값
                                    increment by n - 증가값
                                    maxvalue 99999 - 최대값
                                    cycle | nocycle - 순환여부
                                    cache | nocache - 디폴트는 20;
    시퀀스이름.nextval | currval

    수정 - alter sequence 시퀀스이름
                                    start with n - 시작값
                                    increment by n - 증가값
                                    maxvalue 99999 - 최대값
                                    cycle | nocycle - 순환여부
                                    cache | nocache - 디폴트는 20;
    삭제 - drop sequenct 시퀀스이름



* VIEW - 자체의 데이터는 없지만, 테이블의 데이터를 보거나, 변경할 수 있는 창이다.
                테이블의 데이터를 선택적으로 보여줄 수 있어, 접근제한을 가할 수 있다.
                복잡한 질의어를 통해 결과를 구하고, 반복할 수 있다.
    1) simple view
        하나의 테이블에서만 데이터가 유래된다.   
        DML수행가능

    2) complex view
        다중테이블에서 데이터가 유래된다.
        DML수행불가

        ex) create view 뷰이름 as 서브쿼리 [with check option] [with read only];
          초록글씨 부분이 없다면, 그 이하의 문장은 일반 select 문장이다.
          a) with check option - 조건변경 불가
          b) with read only - DML수행 불가

    3) 인라인 뷰 - 안쪽, 바깥쪽으로 쿼리문이 나누어질 때, 안 쪽 쿼리문을 별칭을 붙여 view처럼
                             사용한다.
        ex) 문제 7번
        ex) select rownum, ename, sal from ( select ename, sal from emp order by sal desc ) where rownum <= 5;



* INDEX
    1) 목적 - 쿼리를 빠르게 하기 위해서
    2) 내부구조 - B*트리 구조
    3) 생성
        ex) create index 인덱스이름 on 테이블이름(컬럼이름);
    4) 인덱스 재생성
        ex) alter index 인덱스이름 rebuild;



* INDEX 사용조건
    1) 비추
        a) 질의문의 결과가 전체 행의 10 ~15% 이상을 읽어들일 것으로 예상된다.
        b) 테이블이 자주 갱신된다. 인덱스 유지에 상대적으로 시간이 많이 걸린다.
        c) 테이블이 작다.
        d) 해당 컬럼이 질의의 조건으로 자주 사용되지 않는다.
    2) 추천
        a) 테이블에 레코드가 많다.
        b) 조건절에 해당 컬럼이 자주 사용된다.
        c) 검색결과가 2~4%정도일 경우
        d) join에 자주 사용되는 컬럼
        e) null을 포함하는 컬럼이 많은 경우



* 테이블 스페이스
    오라클에서 DB의 데이터를 저장하는 가장 큰 개념.
    ex) select tablespace_name, status from dba_tablespaces;
          select tablespace_name, file_name, bytes from dba_data_files;



* 계정
    1) 사용자 계정 생성
        a) 계정생성 - create user ID identified by PW;
        b) 권한부여 - grant connect,resource to ID;(
    2) 계정 비번바꾸기
        alter user <계정이름> identified by <사용할 암호>;
    3) 계정삭제하기
        drop user ID;
    4) 계정 잠그기/풀기
        alter user <잠긴계정> account lock / unlock;
    5) 모든 계정 확인하기
        select * from all_users;

    6) 세션 수 확인
        select schemaname, count(*) from v$session group by schemaname;
    7) 각 세션별 구분
        select username, status, sid, serial# from v$session;
    8) 특정 세션 kill
        alter system kill session 'sid번호, serial#번호';



* 계정 만들기 종합 - 테이블스페이스까지 응용
    1) 계정 생성 - ssr/ssr
        ex) create user ssr
              identified by ssr
    2) 권한 부여 - 접속권한 포함하여 기본권한 role
        ex) grant connect, resource to ssr;
    3) 테이블 스페이스 생성 - (10M, 경로 : c:\tablespace) : 단지 ssr이름의 테이블스페이스가
                                                                                               만들어졌을 뿐, 아직 ssr계정과는
                                                                                               아무 상관없음.
        ex) create tablespace ssr
              datafile 'c:\tablespace\ssr.dbf' size 10m;
    4) ssr계정의 디폴트 테이블 스페이스를 ssr테이블스페이스로 변경
        ex) alter user ssr default tablespace ssr;
    5) ssr 테이블스페이스의 용량제한을 푼다.
        ex) alter user ssr quota unlimited on ssr;
    6) 테이블생성
    7) 시퀀스생성



* 문자코드
    1) ASCII 문자코드 128문자 (7bit) - 영어
    2) ISO-8859-9 256문자 (8bit) - 서유럽언어
    3) 한국표준협회의 공업표준문자집합 - a) KSC-5601 : 2바이트로 완성형한글을 표현
                                                                                                 아스키문자에 대한 고려없음.
                                                                         b) KSC-5636 : 아스키문자를 고려한 표현
                                                                         c) EUC-KR : 확장유닉스코드(Extended UNIX Code)
                                                                                               라고 하며, 영어는 b)방식으로,
                                                                                               한글은 a)방식으로 조합해 사용.
                                                                                                KSC-5861
    4) 유니코드 - 두가지 인코딩 방식이 있음
        a) UTF-8 : 아스키문자를 만나면, 1바이트로 인코딩하고, 다른 문자는 2바이트 또는
                         그 이상의 바이트로 처리하는 방식을 따름. 한글의 경우는 3바이크로 처리.
                         아스키 문자 체계와 호환이 가능해서, 인터넷상에서 기본적인 인코딩으로 환영받음.
                         XML에서도 별도의 언급이 없으면, 디폴트로 UTF-8 인코딩으로 간주함.
        b) UTF-16 : 아스키건 뭐건 모두 2바이트로 처리한다. 65,356개를 처리할 수 있다.
    5) XML선언에서 인코딩 방식을 "euc-kr"로 지정하는 이유 - 운영체제와 관련이 있다.
        한글 운영체제의 인코딩방식이 MS의 경우(MS949 : EUC-KR과 동일방식) MS949방식을 채택
        하고 있으며, 이는 euc-kr( or KSC-5601)과 동일한 인코딩방식이다. 즉 한글을 2바이트로 처리
        한다는 소리다. 그런데, XML의 디폴트인 UTF-8방식은 한글을 3바이트로 처리하기때문에,
        처음엔 좀 되는 듯 싶다가도, 나중에, 아귀가 안 맞으면서, 오류를 일으키게된다.

        따라서, 비록, UTF-8이 인터넷의 기본 인코딩으로 환영받고 있고, XML의 디폴트도 UTF-8 이지만,
        운영체제에서 파일을 저장할 때, euc-kr일 것으로 예상하는 상황인지라, 두 인코딩방식이 일치하지
        않는다면, 오류가 발생하기때문에, 저장시에도 명시적으로 euc-kr, 즉 운영체제가 지원하는 한글
        인코딩 방식을 따르겠다고, 선언해주어야한다.

 

'Database > ORACLE' 카테고리의 다른 글

where절에 if문처럼 and조건 사용하기  (1) 2015.02.24
ORACLE 백업 복원,암호 복원  (0) 2015.02.24
비교 UPDATE 구분  (0) 2015.02.24
컬럼 정보 확인  (0) 2015.02.24
계정별 권한주기  (0) 2015.02.24
Posted by 타카스 류지
|

--테이블명 조회
SELECT * FROM all_objects WHERE object_type='TABLE' AND owner = '계정명'


UPDATE  /*+ BYPASS_UJVC */
(
 SELECT [b.칼럼] as [칼럼 표현명] , [a.칼럼] AS [칼럼 표현명]
 from [테이블 a], [테이블 b]
 where [a.칼럼] = [b.칼럼] and [a.칼럼] != [b.칼럼]
)
SET [칼럼표현명(넣을곳)] = [칼럼표현명(넣을값)]

 

'Database > ORACLE' 카테고리의 다른 글

ORACLE 백업 복원,암호 복원  (0) 2015.02.24
SQL 명령어  (0) 2015.02.24
컬럼 정보 확인  (0) 2015.02.24
계정별 권한주기  (0) 2015.02.24
SQL 명 정리  (0) 2015.02.24
Posted by 타카스 류지
|
SELECT
     BB.OWNER                               AS OWNER
    ,BB.TABLE_NAME                          AS TABLE_ID
    ,GG.COMMENTS                            AS TABLE_NAME
    ,BB.COLUMN_ID+1                         AS COLUMN_NO
    ,BB.COLUMN_NAME                         AS COLUMN_ID
    ,AA.COMMENTS                            AS COLUMM_NAME
    ,BB.DATA_TYPE                           AS DATA_TYPE
    ,DECODE(BB.DATA_TYPE, 'NUMBER', BB.DATA_PRECISION, BB.DATA_LENGTH) AS DATA_LENGTH
    ,BB.DATA_SCALE                          AS DATA_SCALE
    ,DECODE(CC.COLUMN_NAME, '', '', 'Y')    AS PK
    ,DECODE(BB.NULLABLE, 'Y', '', 'Y')      AS NULLABLE
    ,BB.DATA_DEFAULT                        AS DEFAULT_VALUE
    ,SUBSTR(EE.CONSTRAINT_NAME, 12, 7)      AS FK_ID
    ,FF.TABLESPACE_NAME                     AS TS_NAME
    ,FF.NUM_ROWS                            AS ROW_CNT
    ,DD.CREATED                             AS CRE_DATE
    ,DD.LAST_DDL_TIME                       AS UPT_DATE
FROM ( SELECT * FROM    ALL_COL_COMMENTS  ) AA,
 ( SELECT * FROM    ALL_TAB_COLUMNS   ) BB,
 ( SELECT * FROM    ALL_CONS_COLUMNS    WHERE CONSTRAINT_NAME LIKE 'PK%') CC,
 ( SELECT * FROM    ALL_OBJECTS         WHERE OBJECT_TYPE = 'TABLE' AND OWNER = '계정명' ) DD,
 ( SELECT * FROM    ALL_CONS_COLUMNS    WHERE CONSTRAINT_NAME LIKE 'FK%') EE,
 ( SELECT * FROM    ALL_TABLES          WHERE OWNER = '계정명') FF,
 ( SELECT * FROM    ALL_TAB_COMMENTS    WHERE OWNER = '계정명') GG
WHERE 1=1
    AND   AA.OWNER          = BB.OWNER
    AND   AA.TABLE_NAME     = BB.TABLE_NAME
    AND   AA.COLUMN_NAME    = BB.COLUMN_NAME
    AND   AA.OWNER          = CC.OWNER(+)
    AND   AA.TABLE_NAME     = CC.TABLE_NAME(+)
    AND   AA.COLUMN_NAME    = CC.COLUMN_NAME(+)
    AND   AA.OWNER          = DD.OWNER
    AND   AA.TABLE_NAME     = DD.OBJECT_NAME
    AND   AA.OWNER          = EE.OWNER(+)
    AND   AA.TABLE_NAME     = EE.TABLE_NAME(+)
    AND   AA.COLUMN_NAME    = EE.COLUMN_NAME(+)
    AND   AA.TABLE_NAME     = FF.TABLE_NAME(+)
    AND   AA.TABLE_NAME     = GG.TABLE_NAME(+)
    -- AND   SUBSTR(AA.TABLE_NAME,0,2) = '구분자'  <-- 테이블이 많을시에 구분 조건
    AND   AA.TABLE_NAME LIKE '테이블 명'
ORDER BY AA.TABLE_NAME, BB.COLUMN_ID


'Database > ORACLE' 카테고리의 다른 글

SQL 명령어  (0) 2015.02.24
비교 UPDATE 구분  (0) 2015.02.24
계정별 권한주기  (0) 2015.02.24
SQL 명 정리  (0) 2015.02.24
대용량 데이터 밀어넣기  (0) 2015.02.24
Posted by 타카스 류지
|

//이름 설정 각 계정별 설정
CREATE SYNONYM 테이블명 FOR 계정명.테이블명;

 

//권한주기

GRANT INSERT,SELECT,UPDATE,DELETE ON "계정명"."테이블명" TO 부여할 계정명 ;

 

 

 

#예제#

 

//테이블 가지고있는 계정으로 로그인후 '시노님' 생성

CREATE SYNONYM "MANAGER" FOR SYSTEM.MANAGER;

 

//시노님 생성후 계정으로 권한 부여

GRANT INSERT,SELECT,UPDATE,DELETE ON "SYSTEM"."MANAGER" TO SCOTT ;

 

'Database > ORACLE' 카테고리의 다른 글

비교 UPDATE 구분  (0) 2015.02.24
컬럼 정보 확인  (0) 2015.02.24
SQL 명 정리  (0) 2015.02.24
대용량 데이터 밀어넣기  (0) 2015.02.24
DELETE 삭제했던 데이터 복구  (0) 2015.02.16
Posted by 타카스 류지
|

SQL 명 정리

Database/ORACLE 2015. 2. 24. 11:40

 - SQL(대소문자 구별 안함)
   - 계정 생성 방법 : create user 계정명 identified by 비밀번호;
   - 계정 권한 부여 : grant resource, connect to 계정명;

   - 테이블 생성 : create table 테이블명(컬럼명, 데이터타입 추가속성, ...);
     - 추가 속성 : not null primary key
   - 테이블 삭제 : drop table 테이블명;
   - 테이블 정보 조회 : desc 테이블명;
   - 테이블 코멘트 : comment on table 테이블명 is 코멘트명;
   - 레코드 검색
     - 전체 : select * from 테이블명;
     - 특정 컬럼 : select 특정컬럼명, ... from 테이블명 where 조건식;
     - 조건 :  select * from 테이블명 where 조건식;
     - 별칭 : select 컬럼명 병칭, ... from 테이블명;
     - 연산(숫자인 경우만) : select 컬러명 [+|-|*|/] 숫자 from 테이블명;
     - 정렬 : select * from 테이블명 order by 컬럼 [asc|desc];
     - 테이블 레코드 수 : select count(*) from 테이블명;
     - 최대/최소값(문자열도 됨) : select max/min(컬럼명) from 테이블;

     - 모든 계정 검색 : select * from all_users;
     - 계정 내 모든 테이블 검색 : select * from tab;
   - 레코드 추가
     - 컬럼 갯수만큼 : insert into 테이블명 values ('값', ... );
     - 넣고 싶은 컬럼만 : insert into 테이블명 (넣고 싶은 컬럼명 ... ) values (값 ... );
   - 레코드 수정 : update 테이블명 set 수정할 컬러명 = '값' where 조건식;
   - 레코드 삭제 : delete from 테이블명 wehre 조건식;

   - 컬럼 추가 : alter table 테이블명 add(컬럼명 컬럼타입);
   - 컬럼명 수정 : alter table 테이블명 rename column 컬럼명 to 수정할 이름;
   - 컬럼 데이터타입 수정 : alter table 테이블명 modify(컬럼명 타입);
   - 컬럼 삭제 : alter table 테이블명 drop column 컬럼명;
   - 컬럼 코멘트 : comment on column 테이블명.컬럼명 is 코멘트명;
   - 커밋 : commit
   - (마지막 커밋 시점으로)롤백 : rollback

'Database > ORACLE' 카테고리의 다른 글

컬럼 정보 확인  (0) 2015.02.24
계정별 권한주기  (0) 2015.02.24
대용량 데이터 밀어넣기  (0) 2015.02.24
DELETE 삭제했던 데이터 복구  (0) 2015.02.16
SELECT문 활용(대체 변수,함수,형변환)  (0) 2012.11.01
Posted by 타카스 류지
|

 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import java.io.*;
 
 //클래스에 추가할 request
 HttpServletRequest request

 
 //사용하는 함수
 createFileHtml(request.getSession().getServletContext(), releasemanageVoHtml.getCntsId(), releasemanageVoHtml.getMenuId(),releasemanageVoHtml.getCntsSrc());


 /**
  * 배포 html 파일 생성
  */
 public void createFileHtml(ServletContext context,String cntsId,String menuId,String cntsSrc){
 
  //구분자 (/)
  String separatorSymbol = File.separator;
  //최상단 경로부터 하단경로
  String realFolder = context.getRealPath("html/cms");
  //파일명
  String fileName = cntsId + "_" + menuId + ".html";
  //개행문자 치환
  String sCntsSrc = cntsSrc;
  
  sCntsSrc=sCntsSrc.replaceAll("&amp;","&");
  sCntsSrc=sCntsSrc.replaceAll("&lt;","<");
  sCntsSrc=sCntsSrc.replaceAll("&gt;",">");
  //sCntsSrc=sCntsSrc.replaceAll("\n", "<br>");
  sCntsSrc=sCntsSrc.replaceAll(System.getProperty("line.separator"), "<br>");
  sCntsSrc=sCntsSrc.replaceAll("&nbsp;"," ");  //공백
  sCntsSrc=sCntsSrc.replaceAll("&quot;", "\""); //"(더블 쿼테이션)
   
  try {
   
         File targetFile = new File(realFolder + separatorSymbol + fileName);
        
         targetFile.createNewFile();
        
         BufferedWriter output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(targetFile.getPath()), "UTF8"));
        
         output.write(sCntsSrc);
        
         output.close();
        
     } catch(UnsupportedEncodingException uee) {
         uee.printStackTrace();
     } catch(IOException ioe) {
         ioe.printStackTrace();
     }
 
 }

 

Posted by 타카스 류지
|

 

aes.js

 

 

위 첨부 파일 호출

 

//암호화
var encrypted = CryptoJS.AES.encrypt(oldCntsSrc, "000102030405060708090a0b0c0d0e0f");
//복호화
var decrypted = CryptoJS.AES.decrypt(encrypted, "000102030405060708090a0b0c0d0e0f");
//인코딩
var codeValue = decrypted.toString(CryptoJS.enc.Utf8)
//결과물
alert(codeValue);

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

JAVASCRIPT PARAM 값 가져오기  (0) 2015.03.19
PC, MOBILE, TABLET 디바이스타입 파악  (0) 2015.03.17
타이머  (0) 2015.02.24
달팽이 for문  (0) 2015.02.24
숫자 야구  (0) 2015.02.24
Posted by 타카스 류지
|

테이블 생성

 

CREATE TABLE "RMZZ_POST_DORO" (
    "ZIPCODE" VARCHAR2(10 BYTE) NULL ,
    "DORO" VARCHAR2(50 BYTE) NULL ,
    "SIDO" VARCHAR2(50 BYTE) NULL ,
    "SIKUGN" VARCHAR2(50 BYTE) NULL ,
    "EUP" VARCHAR2(50 BYTE) NULL ,
    "JIHA" VARCHAR2(50 BYTE) NULL ,
    "BONBUN" VARCHAR2(50 BYTE) NULL ,
    "BUBUN" VARCHAR2(50 BYTE) NULL ,
    "DONG" VARCHAR2(50 BYTE) NULL
)
LOGGING
NOCOMPRESS
NOCACHE

;


COMMENT ON TABLE "RMZZ_POST_DORO" IS '우편번호 도로';
COMMENT ON COLUMN "RMZZ_POST_DORO"."ZIPCODE" IS '우편번호';
COMMENT ON COLUMN "RMZZ_POST_DORO"."DORO" IS '도로명';
COMMENT ON COLUMN "RMZZ_POST_DORO"."SIDO" IS '시,도';
COMMENT ON COLUMN "RMZZ_POST_DORO"."SIKUGN" IS '시,군';
COMMENT ON COLUMN "RMZZ_POST_DORO"."EUP" IS '읍';
COMMENT ON COLUMN "RMZZ_POST_DORO"."JIHA" IS '지하';
COMMENT ON COLUMN "RMZZ_POST_DORO"."BONBUN" IS '본번';
COMMENT ON COLUMN "RMZZ_POST_DORO"."BUBUN" IS '부분';
COMMENT ON COLUMN "RMZZ_POST_DORO"."DONG" IS '동';
 

 

 

[post.ctl]

 

load data
infile 'post.csv'
insert into table RMZZ_POST_DORO
fields terminated by ','
(ZIPCODE,DORO,SIDO,DONG,SIKUGN,EUP,JIHA,BONBUN,BUBUN)

 

 


rem post폴더에 있는 3개의 파일을 루트(c:\)디렉토리에 저장후....
rem c프롬포트에서
sqlplus를 빠져나와서 post가 있는 폴더로 이동한 다음 복사해서 붙여넣기..
sqlldr SCOTT/SCOTT1234 control=post.ctl log=post.log bad=post.bad

 

 

 

 

'Database > ORACLE' 카테고리의 다른 글

컬럼 정보 확인  (0) 2015.02.24
계정별 권한주기  (0) 2015.02.24
SQL 명 정리  (0) 2015.02.24
DELETE 삭제했던 데이터 복구  (0) 2015.02.16
SELECT문 활용(대체 변수,함수,형변환)  (0) 2012.11.01
Posted by 타카스 류지
|

타이머

Dev Language/JAVASCRIPT 2015. 2. 24. 11:01

 

타이머.html

 

남은시간:10분 00초

 

 

 

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

PC, MOBILE, TABLET 디바이스타입 파악  (0) 2015.03.17
script 암호화 encrypted  (0) 2015.02.24
달팽이 for문  (0) 2015.02.24
숫자 야구  (0) 2015.02.24
기본 Text 에디터  (0) 2015.02.24
Posted by 타카스 류지
|

달팽이 FOR문.html

 

몇칸의 달팽이를 출력하시겠습니까? (예 : 25 = > 5*5 , [5] 입력)

 

 

 

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

script 암호화 encrypted  (0) 2015.02.24
타이머  (0) 2015.02.24
숫자 야구  (0) 2015.02.24
기본 Text 에디터  (0) 2015.02.24
스톱워치  (0) 2015.02.24
Posted by 타카스 류지
|
숫자야구.html
입력 숫자 상황

 

 

 

 

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

타이머  (0) 2015.02.24
달팽이 for문  (0) 2015.02.24
기본 Text 에디터  (0) 2015.02.24
스톱워치  (0) 2015.02.24
키보드 키 값 알아내기  (0) 2015.02.24
Posted by 타카스 류지
|

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

달팽이 for문  (0) 2015.02.24
숫자 야구  (0) 2015.02.24
스톱워치  (0) 2015.02.24
키보드 키 값 알아내기  (0) 2015.02.24
실시간 표준시간 보기  (0) 2013.01.24
Posted by 타카스 류지
|

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

달팽이 for문  (0) 2015.02.24
숫자 야구  (0) 2015.02.24
기본 Text 에디터  (0) 2015.02.24
키보드 키 값 알아내기  (0) 2015.02.24
실시간 표준시간 보기  (0) 2013.01.24
Posted by 타카스 류지
|

'Dev Language > JAVASCRIPT' 카테고리의 다른 글

달팽이 for문  (0) 2015.02.24
숫자 야구  (0) 2015.02.24
기본 Text 에디터  (0) 2015.02.24
스톱워치  (0) 2015.02.24
실시간 표준시간 보기  (0) 2013.01.24
Posted by 타카스 류지
|

엑셀 exprot

Dev Language/C# 2015. 2. 24. 10:34

 

 

 

 

 protected void btnExcel_Click(object sender, EventArgs e)
    {
        DataSet ds = Admin.getExcel(txtSDate.Text, txtEDate.Text, txtIdno.Text, rbtSelect.SelectedValue.ToString());
        string fileTime = DateTime.Now.ToShortDateString().Replace("-", "");
        try{
         // 기존 버퍼내용 제거
                HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.Buffer = true;
                // 파일네임 지정
                HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + fileTime + ".xls");
                // 파일타입(데이터형식) 지정
                HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";

                // 문자셋 지정
                HttpContext.Current.Response.Charset = "euc-kr";
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("euc-kr");
                //HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                //this.EnableViewState = false;

                // 문자열 기록 개체 인스턴스 생성
                System.IO.StringWriter stringWriter = new System.IO.StringWriter();
                // html 표현 방식으로 변환
                System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);

                // 엑셀생성할 새로운 그리드뷰 생성
                GridView makeGV = new GridView();

                // 생성된 데이터그리드 디자인
                makeGV.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                makeGV.HeaderStyle.BackColor = System.Drawing.Color.FromName("#E5EAEE");
                makeGV.RowStyle.HorizontalAlign = HorizontalAlign.Center;

                // 그리드뷰에 새 데이터 바인드
                makeGV.DataSource = ds;
                makeGV.DataBind();

                for (int i = 0; i < makeGV.Rows.Count; i++)
                {
                    for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                    {
                        makeGV.Rows[i].Cells[j].Style.Add("mso-number-format", "\\@"); // 숫자컬럼정의
                    }
                }

                // 엑셀 Export
                makeGV.RenderControl(htmlWriter);

                HttpContext.Current.Response.Write(stringWriter.ToString());
                HttpContext.Current.Response.End();

                stringWriter.Flush();
                stringWriter.Close();

                htmlWriter.Flush();
                htmlWriter.Close();
            }

            catch (Exception ex)
            {
            }

    }

 

'Dev Language > C#' 카테고리의 다른 글

윈도우 플랫폼 체크  (0) 2015.12.31
Mac Address Changer(맥 어드레스 변경)  (0) 2015.12.30
.NET Decompile (닷텟 디컴파일)  (0) 2015.06.04
사운드 플레이,스톱  (0) 2015.02.24
숫자체크,Right,Left,Mid 자르기  (0) 2015.02.24
Posted by 타카스 류지
|

Audio _sound = null;

string soundPath = @"sound/e.wav";

_sound = new Audio(soundPath);

if (_sound.Playing)
{

 _sound.Stop();
 _sound.Play();
}
else
{
 _sound.Play();
}

'Dev Language > C#' 카테고리의 다른 글

윈도우 플랫폼 체크  (0) 2015.12.31
Mac Address Changer(맥 어드레스 변경)  (0) 2015.12.30
.NET Decompile (닷텟 디컴파일)  (0) 2015.06.04
엑셀 exprot  (0) 2015.02.24
숫자체크,Right,Left,Mid 자르기  (0) 2015.02.24
Posted by 타카스 류지
|

private bool IsNumeric(string text)
{
    return System.Text.RegularExpressions.Regex.IsMatch(text, "^\\d+$");
}

Left

public string Left(string Text, int TextLenth)
{
    string ConvertText;
    if (Text.Length < TextLenth)
    {
 TextLenth = Text.Length;
    }
    ConvertText = Text.Substring(0, TextLenth);
    return ConvertText;
}

 

Right

public string Right(string Text, int TextLenth)
{
    string ConvertText;
    if (Text.Length < TextLenth)
    {
 TextLenth = Text.Length;
    }
    ConvertText = Text.Substring(Text.Length - TextLenth, TextLenth);
    return ConvertText;
}

 

Mid

public string Mid(string Text, int Startint, int Endint)
{
    string ConvertText;
    if (Startint < Text.Length || Endint < Text.Length)
    {
 ConvertText = Text.Substring(Startint, Endint);
 return ConvertText;
    }
    else
 return Text;
}   

 

'Dev Language > C#' 카테고리의 다른 글

윈도우 플랫폼 체크  (0) 2015.12.31
Mac Address Changer(맥 어드레스 변경)  (0) 2015.12.30
.NET Decompile (닷텟 디컴파일)  (0) 2015.06.04
엑셀 exprot  (0) 2015.02.24
사운드 플레이,스톱  (0) 2015.02.24
Posted by 타카스 류지
|

 

[검색]

SELECT *
FROM '테이블명' AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE)
WHERE '검색조건'

SELECT *
FROM '테이블명' AS OF TIMESTAMP TO_TIMESTAMP('20150213 15:00:00', 'YYYY-MM-DD HH24:MI:SS')
WHERE '검색조건'

 

[한방에 INSERT]

INSERT INTO '테이블명'
SELECT *
FROM '테이블명' AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '15' MINUTE)
WHERE '검색조건'

INSERT INTO '테이블명'
SELECT *
FROM '테이블명' AS OF TIMESTAMP TO_TIMESTAMP('20150213 15:00:00', 'YYYY-MM-DD HH24:MI:SS')
WHERE '검색조건'

'Database > ORACLE' 카테고리의 다른 글

컬럼 정보 확인  (0) 2015.02.24
계정별 권한주기  (0) 2015.02.24
SQL 명 정리  (0) 2015.02.24
대용량 데이터 밀어넣기  (0) 2015.02.24
SELECT문 활용(대체 변수,함수,형변환)  (0) 2012.11.01
Posted by 타카스 류지
|

간단하게 PHP 웹서버를 가동후 집어넣어서 사용하면된다

index.php phpqrcode.php

'Dev Language > PHP' 카테고리의 다른 글

PHP 문자열 인코딩 utf8,euc-kr 펑션  (0) 2015.06.02
PHP 메일 보내기  (0) 2015.06.02
PHP 배열 사용  (0) 2015.06.02
MYSQL 단일 파일 웹접속용  (0) 2013.01.24
PHP 내부 함수  (0) 2013.01.24
Posted by 타카스 류지
|