레이블이 바인드변수인 게시물을 표시합니다. 모든 게시물 표시
레이블이 바인드변수인 게시물을 표시합니다. 모든 게시물 표시

2022년 1월 5일 수요일

ORACLE동영상, PLSQL 함수로 팩토리얼 구하기, Factorial Oracle Function, 함수실행방법, 바인드변수, 호스트변수, 오라클교육, SQL교육, 오라클학원, SQL학원, 자바교육, 자바학원

 ORACLE동영상, PLSQL 함수로 팩토리얼 구하기, Factorial Oracle Function, 함수실행방법, 바인드변수, 호스트변수, 오라클교육, SQL교육, 오라클학원, SQL학원, 자바교육, 자바학원


https://youtu.be/P0vET1PjxFM




https://www.youtube.com/watch?v=9cS-bMTbkLo&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=6 

함수 실습, Factorial 구하기

PL/SQL내부 및 외부에서 실행


강의 : 이종철





실습 : PL/SQL Factorial 구하는 함수 작성

          PL/SQL 내부 및 외부에서 실행



create or replace function fact(p_num in number)
return number
is
    f number := 0;
begin
    if p_num = 0 then
       f := 1;
    else
        f := p_num * fact(p_num - 1);
    end if;
    
    return f;
end;
/

set serveroutput on
declare
    num number := 5;
    f number;
begin
    f := fact(num);
    dbms_output.put_line(' Factorial ' || num || ' = ' || f);
end;


Factorial 5 = 120
PL/SQL 프로시저가 성공적으로 완료되었습니다.


accept num prompt 'Enter a number : ';   --대체변수
var f number;   
exec :f := fact(&num);
print f;

         F
----------
       120

https://www.youtube.com/watch?v=RE79vqW_s6o&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=31

https://www.youtube.com/watch?v=x6gW4inKtZg&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=32 

https://www.youtube.com/watch?v=kF7_EEJKlQQ&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=29 

https://www.youtube.com/watch?v=-2CzUYAmRvk&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=5 


https://www.youtube.com/watch?v=7iTlIcwOX4A&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=7 

#오라클, #PLSQL, #팩토리얼, #Factorial, #오라클함수, #함수실행, #바인드변수, #호스트변수, #오라클교육, #SQL교육, #오라클학원, #SQL학원, #자바교육, #자바학원, 오라클, PLSQL, 팩토리얼, Factorial, 오라클함수, 함수실행, 바인드변수, 호스트변수, 오라클교육, SQL교육, 오라클학원, SQL학원, 자바교육, 자바학원

2021년 12월 23일 목요일

오라클커서(Cursor)란, 소프트파싱, 하드파싱, SQL Autotrace, 실행계획, 통계정보, db block gets, consistent gts, 바인드변수, 오라클교육동영상, 오라클학원, 오라클교육, ORACLE학원, 자바학원, JAVA학원, JAVA동영상

 



오라클커서(Cursor)란, 소프트파싱, 하드파싱, SQL Autotrace, 실행계획, 통계정보, db block gets, consistent gts, 바인드변수, 오라클교육동영상, 오라클학원, 오라클교육, ORACLE학원, 자바학원, JAVA학원, JAVA동영상


동영상을 통해 하나씩 배워보세요~


강의자료는 http://ojc.asia 에서 확인 하세요~


https://www.youtube.com/watch?v=9rvdwAcz4D0&list=PLxU-iZCqT52DFRbLFQIgGUFp-5En2DYRG&index=31







감사합니다.



#오라클커서, #Cursor란, #소프트파싱, #하드파싱, #Autotrace, #실행계획, #통계정보, #db lockgets, #consistentgets, #바인드변수, #오라클교육, #오라클학원, #오라클동영상, #ORACLE교육, #ORACLE학원, #ORACLE동영상,

오라클커서, Cursor란, 소프트파싱, 하드파싱, Autotrace, 실행계획, 통계정보, db lockgets, consistentgets, 바인드변수, 오라클교육, 오라클학원, 오라클동영상, ORACLE교육, ORACLE학원, ORACLE동영상




2020년 7월 19일 일요일

PL/SQL Bind(Host) 변수, 바인드, 호스트 변수

PL/SQL Bind(Host) 변수, 바인드, 호스트 변수

http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=569

3.1.6 Bind(Host) 변수

n Bind변수는 실행계획이 세워진 후 그 값이 결정되는 변수이며 값이 바뀌더라도 실행계획에는 영향을 주지 않는다.

n SQL, PL/SQL에서 사용가능하며 SQL에서 사용하는 경우 Variable로 선언해 줘야 하며 PL/SQL Code에서 사용될 때 콜론(:)을 앞에 붙여 사용한다.

n 호스트환경에서 선언되므로 Host 변수 라고도 하며 PL/SQL 블록이 실행된 후에도 접근 가능하다.

n PRINT명령으로 값을 확인 할 수 있다.

-- 아래는 바인드변수를 이용하여 EMP 테이블의 ENAME 값을 출력했다.

SQL> edit ojc11

--바인드변수 자동출력

set autoprint on

variable b_ename varchar2(20)

declare

begin

select ename into :b_ename from emp

where ename = 'SMITH';

end;

/

SQL> @ojc11

PL/SQL 처리가 정상적으로 완료되었습니다.

B_ENAME

--------------------------------

SMITH

-- 아래 예문을 통해 바인드변수 처리했을 때와 안했을 때의 차이에 대해 이해하자.

SQL> alter system flush shared_pool;

SQL> edit ojc12

variable v_empno1 number

variable v_empno2 number

declare

v_ename emp.ename%TYPE;

begin

:v_empno1 := 7369;

:v_empno2 := 7788;

-- 아래 두문장은 동일한 SQL로 인식

execute immediate 'select ename from emp where empno = :1' using :v_empno1;

execute immediate 'select ename from emp where empno = :1' using :v_empno2;

--아래 두문장은 서로다른 SQL로 인식된다.

execute immediate 'SELECT ENAME FROM EMP WHERE EMPNO = ' || :v_empno1;

execute immediate 'SELECT ENAME FROM EMP WHERE EMPNO = ' || :v_empno2;

end;

/

SQL> @ojc12

PL/SQL 처리가 정상적으로 완료되었습니다.

-- Bind변수 처리한 SQL은 두문장이 동일한 SQL로 인식됨을 알수있다.

SQL> select sql_text from v$sql where lower(sql_text) like ('%emp%');

SELECT ENAME FROM EMP WHERE EMPNO = 7788

select ename from emp where empno = :1

SELECT ENAME FROM EMP WHERE EMPNO = 7369

SQL> alter system flush shared_pool;

SQL> edit ojc13

variable v_empno1 number

variable v_empno2 number

declare

v_ename emp.ename%TYPE;

v_empno3 number := 7521;

v_empno4 number := 7566;

begin

:v_empno1 := 7369;

:v_empno2 := 7788;

-- 아래 두문장은 바인드변수처리되어 동일한 SQL문장으로 인식

-- SQL문장을 대문자로 변경한 후 전송

-- v_empno1, v_empno2 변수는 이름이 :B1 형태로 변환

SELECT /*+ ojcedu0 */ ename into v_ename FROM emp where to_char(empno) = :v_empno1;

SELECT /*+ ojcedu0 */ ename into v_ename FROM emp where to_char(empno) = :v_empno2;

-- 아래 두문장도 동일한 SQL인식

-- SQL문장을 대문자로 변경한 후 전송

-- v_empno3, v_empno4 변수는 이름이 :B1 형태로 변환

select /*+ ojcedu1 */ ename into v_ename from emp where empno = v_empno3;

select /*+ ojcedu1 */ ename into v_ename from emp where empno = v_empno4;

-- 아래 두문장은 서로다른 SQL문장으로 인식

select /*+ ojcedu2 */ ename into v_ename from emp where empno = 7369;

select /*+ ojcedu2 */ ename into v_ename from emp where empno = 7788;

end;

/

SQL> @ojc13

PL/SQL 처리가 정상적으로 완료되었습니다.

SQL> select sql_text from v$sql where lower(sql_text) like ('%ojcedu%');

SELECT /*+ ojcedu1 */ENAME FROM EMP WHERE EMPNO = :B1

SELECT /*+ ojcedu2 */ ENAME FROM EMP WHERE EMPNO = 7788

SELECT /*+ ojcedu0 */ ENAME FROM EMP WHERE TO_CHAR(EMPNO) = :B1

SELECT /*+ ojcedu2 */ ENAME FROM EMP WHERE EMPNO = 7369

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...