Tags
- Java
- MFC
- Android/iOS Developer
- postman html parse
- solidity
- Front-end developer
- Android
- postman csv
- C++
- postman pre-request
- postman
- postman collection
- Intellij
- postman excel
- oracle
- postman session
- Unity
- postman automations
- postman collection variables
- 프런트엔드
- web developer
- emplace_back
- UI/UX Engineer
- LSL_Script
- 우수한 프런트 개발자
- 좋은 개발자
- postman tests
- c#
- 다빈치 리졸브
- Interaction developer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Archives
- Today
- Total
david's daily developer note
PostgreSQL PL/SQL CREATE FUNCTION 본문
728x90
PostgreSQL은 CREATE PROCEDURE 로 저장 프로시저를 만들지 않는다.
PL/pgSQL 같은 procedural language(절차지향식 언어)를 사용 한다.
\timing
PostgreSQL Function의 예제 이다. 함수 호출시에 시간을 파라메타로 받고, 특정 루프의 수행이 끝난 후에 측정한 시간과의 차이를 계산하여, 전체 질의 시간을 반환한다.
drop FUNCTION IF EXISTS clean_emp_test1( l_start timestamp with time zone )
CREATE OR REPLACE FUNCTION clean_emp_test1( l_start timestamp with time zone ) RETURNS interval AS $$
DECLARE
l_end timestamp;
BEGIN
FOR i IN 1.. 10000000 LOOP
insert into "test"(id) values( 'hi' );
END LOOP;
l_end := clock_timestamp();
return l_end - l_start;
END;
$$ LANGUAGE plpgsql;
다음은 함수 실행문이다. psql shell이나, pqAdmin에서 다음과 같이 실행한다.
SELECT clean_emp_test1( clock_timestamp() );
Select 의 경우에는 반환 되는 결과를 받아야, function을 구성하는데 문제가 없다. 아래는 Boolean값을 받는 자료형의 선언과,
Select SQL을 수정하여 , Select 문에 대한 Function의 필수 처리를 간단히 작성하였다.
.....
DECLARE
users_rec RECORD;
BEGIN
SELECT INTO users_rec * FROM "test";
......
PostgreSQL 의 time/ date 관련한 자료형과 함수는 아래에서 참고할 수 있다.
728x90
'Develop (kids)' 카테고리의 다른 글
Oracle .NET DataTableReader vs IDataReader (0) | 2010.08.07 |
---|---|
오라클 데이타베이스 기반 .NET 애플리케이션의 구축 (0) | 2010.08.06 |
PL/SQL 2. 다수의 SQL 수행 시간 측정하기. (0) | 2010.06.30 |
PL/SQL 1. Stored Procedure 기본 선언 및 실행. (0) | 2010.06.30 |
원격 윈도우 종료 , 재부팅 (0) | 2010.06.29 |