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:
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,
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.
Variables in Oracle have the following 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);
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:
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;
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!