Home  >  Article  >  Database  >  An article introducing Oracle's stored procedure syntax

An article introducing Oracle's stored procedure syntax

PHPz
PHPzOriginal
2023-04-04 10:39:501780browse

Oracle is a relational database management system with powerful stored procedure functions. As a developer, only by mastering the syntax of stored procedures can we achieve efficient, simple, and safe database operations according to business needs. This article will introduce Oracle's stored procedure syntax.

1. Introduction to stored procedures

In Oracle, a stored procedure is a database object, which is a series of SQL statements and control structures written in PL/SQL language. It is a reusable program that encapsulates multiple SQL statements, which can implement complex business logic and greatly improve the efficiency of database operations.

Stored procedures have the following characteristics:

  1. Can receive input parameters and return output parameters
  2. Can execute multiple SQL statements in one transaction
  3. Stored on the Oracle server and can be shared by multiple applications
  4. Can be executed when calling, or can be executed after precompilation

2. Creation and creation of stored procedures Execution

In Oracle, you need to use the CREATE PROCEDURE statement to create a stored procedure. The syntax is as follows:

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter1 [IN | OUT | IN OUT] type1, [parameter2 [IN | OUT | IN OUT] type2,...])]
IS
--Declare variables
BEGIN
--Execute SQL statements
END;

Among them,

  1. OR REPLACE means that if the stored procedure already exists, replace it and create it, otherwise create a new stored procedure directly.
  2. procedure_name represents the name of the stored procedure.
  3. parameter represents the input or output parameters of the stored procedure, and there can be multiple.
  4. type indicates the type of parameter, including VARCHAR2, NUMBER, DATE, etc.
  5. IS indicates that the stored procedure officially begins execution.
  6. Between BEGIN and END is the main part of the stored procedure, which can be a SQL statement or PL/SQL code.

For example, the following is a simple stored procedure:

CREATE OR REPLACE PROCEDURE HelloWorld
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!' );
END;

You need to use the EXECUTE or EXEC statement to execute a stored procedure. The syntax is as follows:

EXECUTE procedure_name;

or:

EXEC procedure_name;

For example:

EXECUTE HelloWorld;

or:

EXEC HelloWorld;

3. Variables and sums in stored procedures Control structure

In stored procedures, variables and control structures can be used to implement more complex business logic.

  1. Variables

Variables in Oracle have the following types:

  • CHAR and VARCHAR2: used to store characters and strings.
  • NUMBER: used to store numeric types.
  • DATE: Used to store date and time types.

The syntax for declaring variables is as follows:

DECLARE
variable_name variable_type [NOT NULL] [:= value];

For example:

DECLARE
v_emp_id NUMBER := 1001;
v_emp_name VARCHAR2(20) := 'John';
v_salary NUMBER(6,2);

  1. Control structure

Oracle supports a variety of control structures, including IF, CASE, LOOP, etc.

IF statements are used to perform different operations based on conditions. The syntax is as follows:

IF condition THEN
statements;
[ELSIF condition THEN
statements;]
[ELSE
statements;]
END IF;

For example:

IF v_salary > 5000 THEN
v_bonus := v_salary * 0.1;
ELSIF v_salary > 3000 THEN
v_bonus := v_salary * 0.05;
ELSE
v_bonus := 0;
END IF;

The CASE statement is used to calculate a salary based on different values ​​of an expression. To perform different operations, the syntax is as follows:

CASE expression
WHEN value1 THEN
statements;
WHEN value2 THEN
statements;
...
[ELSE
statements;]
END CASE;

For example:

CASE v_grade
WHEN 'A' THEN
v_gpa := 4.0;
WHEN 'B' THEN
v_gpa := 3.0;
ELSE
v_gpa := 2.0;
END CASE;

LOOP statement is used to repeatedly perform certain operations. The syntax is as follows:

LOOP
statements;
[EXIT | EXIT WHEN condition;]
[CONTINUE | CONTINUE WHEN condition;]
END LOOP;

For example:

LOOP
v_total := v_total v_salary;
EXIT WHEN v_salary = 0;
END LOOP;

4. Calling stored procedures

In Oracle, you can use PL /SQL code or SQL statement to call the stored procedure. For example:

  1. PL/SQL code call:

DECLARE
v_emp_name VARCHAR2(20);
BEGIN
GET_EMPLOYEE_NAME(1001, v_emp_name);
DBMS_OUTPUT.PUT_LINE('Employee name is ' || v_emp_name);
END;

  1. SQL statement call:

SQL> VARIABLE v_emp_name VARCHAR2( 20);
SQL> EXECUTE GET_EMPLOYEE_NAME(1001, :v_emp_name);
SQL> PRINT v_emp_name;

Summary

Through the introduction of this article, we have learned about Oracle’s stored procedures Syntax, including the creation and execution of stored procedures, the use of variables and control structures, and the invocation of stored procedures. As a developer, mastering these syntaxes can greatly improve the efficiency of database operations.

The above is the detailed content of An article introducing Oracle's stored procedure syntax. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn