출력에서 집계 결과를 사용하여 저장 프로 시저를 호출하는 방법은 무엇입니까?

바 산트 고 팔라 크리슈 난

저장 프로 시저에 넣어야하는 간단한 선택 쿼리가 있습니다. 쿼리는 3 개의 매개 변수를 취하고 결과로 2 개의 열을 표시하며 그 중 하나는 집계입니다.

CREATE OR REPLACE PROCEDURE "B_SP_GET_TOTAL_CLOCKED_IN_TIME"
(
     cv_1 IN OUT TYPES.cursorType,
     p_PARENT_CLIENT_ID IN NUMBER DEFAULT 10000,
     p_START_TIME IN NVARCHAR2,
     p_END_TIME IN NVARCHAR2
)
AS
v_sql VARCHAR2(4000);
BEGIN
v_sql := 'SELECT b.CLIENT_NAME, ROUND(SUM((a.ENDTIME-a.STARTTIME)*24*60),2) TOTAL_CLOCKIN_TIME
      FROM TIMESHEET a
      INNER JOIN CLIENTS b ON a.CLIENT_ID = b.CLIENT_ID
      INNER JOIN CLOCKACTIONS c ON c.ID = a.CLOCKACTIONID
      WHERE a.STARTTIME > p_START_TIME AND a.ENDTIME < p_END_TIME AND b.PARENT_CLIENT_ID = p_PARENT_CLIENT_ID 
      GROUP BY b.CLIENT_NAME';    
    OPEN cv_1 FOR v_sql;
END;

저장 프로 시저를 실행했고 문제없이 컴파일되었습니다. 제대로 작동하는지 어떻게 확인합니까? 지금 어떻게 테스트합니까?

위 절차를 테스트하는 데 사용한 진술은 아래에서 찾을 수 있습니다.

execute B_SP_GET_TOTAL_CLOCKED_IN_TIME(10000,'04-01-2015 00:00:00','05-01-2015 00:00:00');

이것은 내가 얻은 오류였습니다.

 Error starting at line : 1 in command - execute B_SP_GET_TOTAL_CLOCKED_IN_TIME(10000,'04-01-2015 00:00:00','05-01-2015 00:00:00') 
Error report - ORA-06550: line 1, column 7: 
PLS-00306: wrong number or types of arguments in call to 'B_SP_GET_TOTAL_CLOCKED_IN_TIME' 
ORA-06550: line 1, column 7: PL/SQL: Statement ignored
    06550. 00000 -  "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
Lalit Kumar B

동적 SQL을 사용할 필요가 없습니다 . 간단하게 사용 OPEN FOR SELECT하고 SYS_REFCURSOR을 사용할 수 있습니다 .

예를 들면

SQL> CREATE OR REPLACE
  2  PROCEDURE p_get_emp(
  3      p_deptno IN emp.deptno%TYPE,
  4      p_ref OUT SYS_REFCURSOR)
  5  AS
  6  BEGIN
  7    OPEN   p_ref FOR
  8    SELECT ename,
  9           empno,
 10           deptno
 11    FROM   emp
 12    WHERE  deptno = p_deptno
 13    ORDER BY empno;
 14  END p_get_emp;
 15  /

Procedure created.

SQL>
SQL> sho err
No errors.
SQL>

오류없이 생성 된 절차. 테스트 해 보겠습니다.

SQL> var p_ref refcursor
SQL>
SQL> EXEC p_get_emp  (30, :p_ref);

PL/SQL procedure successfully completed.

SQL>
SQL> print p_ref

ENAME           EMPNO     DEPTNO
---------- ---------- ----------
ALLEN            7499         30
WARD             7521         30
MARTIN           7654         30
BLAKE            7698         30
TURNER           7844         30
JAMES            7900         30

6 rows selected.

SQL>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

cte를 사용하여 저장 프로 시저에서 여러 결과 집합을 반환하는 방법은 무엇입니까?

분류에서Dev

Java에서 여러 값으로 저장 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 너무 많은 매개 변수를 사용하여 SQL Server 저장 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

Oracle의 Java에서 두 가지 저장 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

neo4jclient에서 저장 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 매개 변수를 사용하여 저장 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

저장 프로 시저에 출력 매개 변수를 전달하는 방법은 무엇입니까?

분류에서Dev

저장 프로 시저를 사용하여 Entity Framework에서 ID를 얻는 방법은 무엇입니까?

분류에서Dev

mysql을 사용하여 입력 및 출력 매개 변수로 Entity Framework Core에서 저장 프로 시저를 호출하는 방법

분류에서Dev

json을 반환하고 SQL Server를 사용하여 테이블에 데이터를 저장하는 저장 프로 시저를 사용하여 웹 서비스를 호출하는 방법은 무엇입니까?

분류에서Dev

TYPE RECORD로 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

Visual Basic을 사용하여 DB2 저장 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

Entity Framework 코드 우선을 사용하여 저장 프로 시저를 호출하는 방법은 무엇입니까?

분류에서Dev

sqlalchemy를 사용하여 저장 프로 시저를 호출하는 방법

분류에서Dev

Cypher-루프에서 프로 시저를 여러 번 호출하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 출력과 함께 저장 프로 시저를 호출하는 방법

분류에서Dev

다른 프로 시저를 호출 한 저장 프로 시저를 확인하는 방법은 무엇입니까?

분류에서Dev

ASP.NET에서 여러 입력 값을 사용하여 MySQL 저장 프로 시저를 호출하는 방법

분류에서Dev

Qt에서 입력 매개 변수를 사용하여 SQL Server 저장 프로 시저를 호출하는 방법

분류에서Dev

mybatis를 사용하여 postgresql로 프로 시저 호출에서 테이블 또는 setof를 반환하는 방법은 무엇입니까?

분류에서Dev

저장 프로 시저에서 출력 매개 변수 결과 및 쿼리 결과를 얻는 방법은 무엇입니까?

분류에서Dev

각 호출에 대해 다시 계산하지 않고 모델에 계산 결과를 저장하는 방법은 무엇입니까?

분류에서Dev

저장 프로 시저에서 openquery를 사용하는 방법은 무엇입니까?

분류에서Dev

저장 프로 시저의 동적 SQL에서 LIKE를 사용하는 방법은 무엇입니까?

분류에서Dev

Node.js : Sequelize에서 Postgres 저장 프로 시저를 사용하는 방법은 무엇입니까?

분류에서Dev

MySQL에서 저장 프로 시저를 암호화하는 방법은 무엇입니까?

분류에서Dev

디렉토리의 각 파일에서 저장 프로 시저를 매개 변수로 호출하는 방법은 무엇입니까?

분류에서Dev

출력 매개 변수를 사용하고 ado.net에서 SQL Server 저장 프로 시저의 쿼리 결과를 선택하는 방법은 무엇입니까?

분류에서Dev

np 배열의 두 for 루프 안에 계산 된 결과를 저장하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    cte를 사용하여 저장 프로 시저에서 여러 결과 집합을 반환하는 방법은 무엇입니까?

  2. 2

    Java에서 여러 값으로 저장 프로 시저를 호출하는 방법은 무엇입니까?

  3. 3

    파이썬에서 너무 많은 매개 변수를 사용하여 SQL Server 저장 프로 시저를 호출하는 방법은 무엇입니까?

  4. 4

    Oracle의 Java에서 두 가지 저장 프로 시저를 호출하는 방법은 무엇입니까?

  5. 5

    neo4jclient에서 저장 프로 시저를 호출하는 방법은 무엇입니까?

  6. 6

    파이썬에서 매개 변수를 사용하여 저장 프로 시저를 호출하는 방법은 무엇입니까?

  7. 7

    저장 프로 시저에 출력 매개 변수를 전달하는 방법은 무엇입니까?

  8. 8

    저장 프로 시저를 사용하여 Entity Framework에서 ID를 얻는 방법은 무엇입니까?

  9. 9

    mysql을 사용하여 입력 및 출력 매개 변수로 Entity Framework Core에서 저장 프로 시저를 호출하는 방법

  10. 10

    json을 반환하고 SQL Server를 사용하여 테이블에 데이터를 저장하는 저장 프로 시저를 사용하여 웹 서비스를 호출하는 방법은 무엇입니까?

  11. 11

    TYPE RECORD로 프로 시저를 호출하는 방법은 무엇입니까?

  12. 12

    Visual Basic을 사용하여 DB2 저장 프로 시저를 호출하는 방법은 무엇입니까?

  13. 13

    Entity Framework 코드 우선을 사용하여 저장 프로 시저를 호출하는 방법은 무엇입니까?

  14. 14

    sqlalchemy를 사용하여 저장 프로 시저를 호출하는 방법

  15. 15

    Cypher-루프에서 프로 시저를 여러 번 호출하는 방법은 무엇입니까?

  16. 16

    C #을 사용하여 출력과 함께 저장 프로 시저를 호출하는 방법

  17. 17

    다른 프로 시저를 호출 한 저장 프로 시저를 확인하는 방법은 무엇입니까?

  18. 18

    ASP.NET에서 여러 입력 값을 사용하여 MySQL 저장 프로 시저를 호출하는 방법

  19. 19

    Qt에서 입력 매개 변수를 사용하여 SQL Server 저장 프로 시저를 호출하는 방법

  20. 20

    mybatis를 사용하여 postgresql로 프로 시저 호출에서 테이블 또는 setof를 반환하는 방법은 무엇입니까?

  21. 21

    저장 프로 시저에서 출력 매개 변수 결과 및 쿼리 결과를 얻는 방법은 무엇입니까?

  22. 22

    각 호출에 대해 다시 계산하지 않고 모델에 계산 결과를 저장하는 방법은 무엇입니까?

  23. 23

    저장 프로 시저에서 openquery를 사용하는 방법은 무엇입니까?

  24. 24

    저장 프로 시저의 동적 SQL에서 LIKE를 사용하는 방법은 무엇입니까?

  25. 25

    Node.js : Sequelize에서 Postgres 저장 프로 시저를 사용하는 방법은 무엇입니까?

  26. 26

    MySQL에서 저장 프로 시저를 암호화하는 방법은 무엇입니까?

  27. 27

    디렉토리의 각 파일에서 저장 프로 시저를 매개 변수로 호출하는 방법은 무엇입니까?

  28. 28

    출력 매개 변수를 사용하고 ado.net에서 SQL Server 저장 프로 시저의 쿼리 결과를 선택하는 방법은 무엇입니까?

  29. 29

    np 배열의 두 for 루프 안에 계산 된 결과를 저장하는 방법은 무엇입니까?

뜨겁다태그

보관