반응형

삶의 의미를 찾기보다 삶의 가치를 높이기 위해 유니세프 정기 후원에 참여했다
참여결정을 한 순간 유니세프 고위 직원의 성희롱문제와 그에 대한 잘못된 유니세프의 대응에 후원하지 말을까 고민도 했지만

어느기관에나 똥은있고 어쨌든 이 기관을 통해 도움받는 이들이 존재하는 것은 사실이니 그런것 때문에 후원받는 사람이 적어지지 않았으면 좋겠다는 생각으로 후원을 시작했다

지난달 10일이 첫 후원일로 신청했는데 무슨 문제가 있는건지 아님 원래 한달 후에 처리가 되는건지 이번 달 첫 후원금이 전달되었다

아무생각없이 일을 하다가 유니세프에서 후원감사 문자를 받고 그날 하루는 기분이 좋았던 것 같다

설 연휴가 시작되기 전날인 오늘 유니세프의 후원반지도 전달받았다
원래 악세서리를 잘 하지 않는데 후원반지는 끼고다니면서 나의 고생이 누군가에게 희망으로 전달된다는 사실을 상기시켜야 겠다

내 존재 자체로 삶이 가치있다고 생각되면 좋겠지만 그게 잘 안되니
나는 어려운친구들을 돈으로 돕고 그들도 나의 심리적 지지층이 되어 서로 도와주는 관계를 잘 맺어가길 바란다


반응형
반응형

<R활용을 위한 설치 순서>


1. R 설치

- www.r-project.org


2. R Studio 설치

- www.rstudio.com


3. JAVA 설치

- R의 패키지 중 JAVA를 설치해야만 사용가능한 경우가 있기 때문에 반드시 설치할 것

- www.java.com


4. 작업경로 지정

- R Studio 실행 -> Tools 메뉴 -> global options -> general -> default working directory에서 폴더 생성 후 지정


5. R Studio를 항상 관리자 모드로 실행될 수 있게 설정할 것

- 컴퓨터 -> 로컬디스크(c:) -> program files -> rstudio -> bin -> rstudio파일 오른쪽 클릭 -> 속성 -> 호환성 -> 관리자 권한으로 이 프로그램 실행 

반응형
반응형

세상에 나쁜개는 없다 시즌 2

공격견 별이와 가족의 상처치유기












반응형
반응형



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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* 
    Table Type 변수(컬렉션)
    - 컬렉션 : 일반 프로그래밍 언어에서 사용하는 배열 타입을 PL/SQL에서는 컬렉션이라 한다.
    - 종류
        : 연관배열(associative array / index-by table) : 키와 값의 쌍으로 구성된 컬렉션
                                                       : JAVA의 해시테이블과 같은 개념
            - key 데이터 유형 : 숫자(binary_integer, pls_integer 
                                    - 이 데이터 타입은 number보다 작은 저장영역 필요, 
산술연산의 경우 number보다 빠르다 - )  
                              : 문자 (varchar2)
            - 값(value) 유형: 일반 데이터 타입 사용됨,레코드 데이터 타입사용가능- 
레코드 타입의 경우, 여러개의 값을 가질 수 있다.-
            
        : varray(variable array) : 고정 길이를 가진 배열
                                 : 일반 프로그래밍에서 사용하는 배열과 같다.
        : 중첩테이블(nested table) : varray와 흡사한 구조의 배열
                                   : 배열의 크기를 명시하지 않고, 동적으로 배열의 크기가 설정됨
                                   
    - Table Type 선언 형식
    1. 정의
        Type 타입명 is table of
        employees.first_name%Type
        INDEX BY binary_integer;
    2. 선언 ( 메모리화 - 변수의 공간이 메모리에 설정됨 )
        식별자 타입명;
*/
 
set serveroutput on;
 
declare
    tname varchar2(20);
    
    type t_emp_name is table of
    employees.last_name%type
    index by binary_integer;
    
    v_name t_emp_name;
    
begin
    select last_name into tname
    from employees
    where employee_id = 100;
    
    v_name(0) := tname;
    dbms_output.put_line(v_name(0));
end;
/
 
 
 
    
declare
    type tbl_type is table of 
    employees.last_name%type
    index by binary_integer;
    
    vtbl_type tbl_type;
    a binary_integer := 0;
    
begin
    for emp_name in(select last_name from employees) loop
        a:= a+1;
        vtbl_type(a):= emp_name.last_name;
    end loop;
 
    for i in 1..a loop
        dbms_output.put_line(vtbl_type(i));
    end loop;
 
end;
/
 
 
 
/*  
    바인드 변수 (비 PL/SQL 변수)
    - 호스트환경에서 생성되어 데이터를 저장하기 때문에 호스트 변수라고 한다
    - 키워드 variable을 이용하며, SQL문에서 사용 가능, PL/SQL블럭에서도 사용 가능
    - PL/SQL블록이 실행된 후에도 엑세스가 가능하다
    - print명령을 이용해 출력 가능
    - :을 붙여 이용한다
*/
 
set autoprint on;
 
begin
    select (salary*12 + nvl(commission_pct*salary,0)) into :vsal
    from employees
    where employee_id = 100;
end;
/
 
print vsal;

cs








반응형

'프로그래밍 > SQL' 카테고리의 다른 글

[Oracle SQL] ROWTYPE 변수 및 복합변수 활용  (0) 2017.09.08
[Oracle SQL] PL/SQL 변수 선언 및 데이터 타입  (0) 2017.09.06
[Oracle SQL] PL/SQL  (0) 2017.08.21
[Oracle SQL] 계층형 쿼리  (0) 2017.08.17
[Oracle SQL] Sequence  (0) 2017.08.16
반응형

세상에 나쁜개는 없다 시즌 2









반응형
반응형

세상에 나쁜개는 없다 시즌 2

시골 개 1미터의 삶











반응형
반응형





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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/* ROWTYPE 변수 및 복합변수 활용 */
/* rowType 변수를 활용한 데이터의 변경 */
declare
    c_rec row_test%rowtype;
    
begin
    select * into c_rec
    from row_test
    where no = 3;
    
    c_rec.name := '강길동';
    
    update row_test2 
    set row=c_rec
    where no = 3;
 
end;
/
 
select * from row_test2;
 
 
 
/* 
   사용자로부터 두개의 숫자를 입력받아 합을 구하는 예
   치환연산자 & 사용 
 */
 
declare
    no1 number := '&no1';
    no2 number := '&no2';
    vsum number;
 
begin
    vsum := no1 + no2;
    dbms_output.put_line('첫번째 수 : ' || no1 ||', 두번째 수 : '|| no2 || ', 합 : '|| vsum || '입니다.');
 
end;
/
 
 
/* 
   복합변수
   레코드 타입 변수 지정 방법
    - type 타입명 is record()
    - 식별자 type 타입명  
*/
declare
    type emp_rec is record
    (emp_id employees.employee_id%type,
     emp_name employees.first_name%type,
      emp_job employees.job_id%type
    );
 
    rec1 emp_rec;
 
begin
    select employee_id, first_name, job_id
    into rec1
    from employees
    where department_id = 10;
 
    dbms_output.put_line('사번              이름               업무아이디');
    dbms_output.put_line(rec1.emp_id || '     ' || rec1.emp_name || '       '|| rec1.emp_job);
     
end;
/
 
 
declare
    type emp_rec2 is record(
        emp_id employees.employee_id%type,
        emp_name employees.last_name%type,
        emp_email employees.email%type,
        emp_salary employees.salary%type
    );
    
    rec2 emp_rec2;
    
    vemp_id employees.employee_id%type := '&empid';
    
begin
    select employee_id, last_name, nvl(email,'없음'), salary
    into rec2
    from employees
    where employee_id = vemp_id;
    
    dbms_output.put_line('사번 : '||rec2.emp_id);
    dbms_output.put_line('이름 : '||rec2.emp_name);
    dbms_output.put_line('이메일 : '||rec2.emp_email);
    dbms_output.put_line('급여 : '||rec2.emp_salary);
 
end;
/
cs


반응형

'프로그래밍 > SQL' 카테고리의 다른 글

[Oracle SQL] 콜렉션, 바인드 변수 사용  (0) 2017.09.30
[Oracle SQL] PL/SQL 변수 선언 및 데이터 타입  (0) 2017.09.06
[Oracle SQL] PL/SQL  (0) 2017.08.21
[Oracle SQL] 계층형 쿼리  (0) 2017.08.17
[Oracle SQL] Sequence  (0) 2017.08.16
반응형






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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/* 
    변수
    - 변수의 생성 규칙
        : 반드시 문자로 시작해야 한다
        : 문자나 숫자, 특수문자를 포함할 수 있다
        : 변수명은 30byte이하여야 한다
        : 예약어(키워드)를 사용할 수 없다
        
    - 변수의 선언은 선언부(declare)에서 선언, 값으로 초기화 가능
    - 실행부에서 실행될 경우 값이 할당된다
    - 서브프로그램의 파라미터로 전달되기도 하며, 서브 프로그램의 출력결과를 저장하기도 한다
    
    - 변수 선언 예
    emp_no number(6,3) : 숫자를 저장하는 변수로 총6자리를 의미하며, 소수점 이하 3자리를 의미한다.
    emp_name varchar2(5) : 문자를 저장하는 변수로 총 5byte를 저장할 수 있다.
    emp_date date : 날짜를 저장하는 변수
    
    - 변수의데이터 타입
    char : 고정길이의 문자를 저장, 기본최소값 1 ~ 최대 32,767byte를 저장
    varchar2 : 가변길이의 문자를 저장, 기본값은 없다. 최대 32,767byte 값을 저장
    number(전체자릿수, 소수점이하 자릿수) : 전체자릿수와 소수점이하 자리 수를 가진 숫자를 저장 
        전체자리 수 범위는 1~38까지 가능하고, 소수점 자리수의 범위는 -84~127까지 가능
    
    binary_double : 부동 소수점 수를 저장, 9byte 필요
    date : 날짜 및 시간을 저장, 초단위로 저장
           날짜의 범위는 4712B.C ~ 9999A.D
    timestamp : date 타입을 확장한 개념, 연도 / 월 / 일 / 시 / 분 /초 및 소수로 표시되는 초단위를 저장
                자리수를 표현할 때는 0~9 범위의 정수를 사용, 기본값은 6
    
    - 참조변수 
        테이블명.필드명%TYPE 
        empNo empolyees.employee_id%TYPE  <- employees테이블의 employee_id타입을 empNo의 타입으로 사용하겠다는 의미
    
        emp_name employees.first_name%TYPE <- employees테이블의 first_name과 동일한 데이터 타입으로 선언
        
        empRow employees%ROWTYPE <- employees테이블의 모든 칼럼을 한꺼번에 저장하기위한 변수로 선언
    
*/
create table employees1 as 
select employee_id, salary, department_id
from employees;
 
select * from employees1;
 
set serveroutput on;
 
 
 
declare
    empNo employees1.employee_id%TYPE;
    empSalary employees1.salary%TYPE;
    
begin
    select employee_id, salary
    into empNo, empSalary
    from employees1
    where department_id = 10;
 
    dbms_output.put_line(empNo ||' '||empSalary);
    
end;
/
 
 
 
 
 
declare
emp_row employees1%RowType;
 
begin
    select * into emp_row
    from employees1
    where employee_id = 100;
    
    dbms_output.put_line( emp_row.employee_id || ' ' || emp_row.salary || ' ' || emp_row.department_id );
 
end;
/
 
 
 
 
create table row_test(
    no number,
    name varchar2(20),
    hdate date
);
 
 
create table row_test2 as
select * from row_test;
 
 
insert into row_test 
values(1,'아무개',sysdate);
 
 
insert into row_test
values(2,'홍길동',sysdate);
 
 
insert into row_test
values(3,'고길동',sysdate);
 
 
select * from row_test;
 
 
commit;
 
 
 
 
declare
c_rec row_test%ROWTYPE;
 
begin
    select * into c_rec
    from row_test
    where no=3;
    
    insert into row_test2
    values c_rec;
    
 end;
/
 
 
select * from row_test2;
cs


반응형

'프로그래밍 > SQL' 카테고리의 다른 글

[Oracle SQL] 콜렉션, 바인드 변수 사용  (0) 2017.09.30
[Oracle SQL] ROWTYPE 변수 및 복합변수 활용  (0) 2017.09.08
[Oracle SQL] PL/SQL  (0) 2017.08.21
[Oracle SQL] 계층형 쿼리  (0) 2017.08.17
[Oracle SQL] Sequence  (0) 2017.08.16

+ Recent posts