Home  >  Article  >  Database  >  oracle stored procedure splicing

oracle stored procedure splicing

WBOY
WBOYOriginal
2023-05-14 09:26:073521browse

Preface

In the Oracle database, a stored procedure is a script that is used to execute a series of SQL statements and can be called in the program. Stored procedures have the advantages of fast calculation, reusability, simple and easy maintenance, etc., so they are widely used in actual development. This article will introduce the splicing operation of strings in stored procedures.

1. Oracle string splicing

There are many ways to splice strings in Oracle database, the common ones are || symbol and CONCAT function. Among them, the || symbol is Oracle's unique operator, which means that two strings are connected together. For example:

SELECT 'Hello ' || 'World' FROM DUAL;

The above statement will return the string "Hello World". It is worth noting that the || symbol can only concatenate two strings and cannot be used to concatenate multiple strings. In addition, if NULL appears in the connected string, the returned result is also NULL. For example:

SELECT 'Hello ' || NULL || 'World' FROM DUAL;

This statement will return a NULL value.

Another commonly used string splicing method is the CONCAT function. This function concatenates two or more strings and returns the concatenated string. For example:

SELECT CONCAT('Hello ', 'World') FROM DUAL;

The above statement will return the string "Hello World". When using the CONCAT function to concatenate strings, if any string is NULL, the function will return a NULL value. For example:

SELECT CONCAT('Hello ', NULL, 'World') FROM DUAL;

This statement will also return a NULL value.

2. String splicing in Oracle stored procedures

In Oracle stored procedures, you can also use the || symbol and the CONCAT function to perform string splicing operations. For example:

CREATE OR REPLACE PROCEDURE PROC1 AS

STR1 VARCHAR2(20) := 'Hello';
STR2 VARCHAR2(20) := 'World';
STR3 VARCHAR2(50);

BEGIN

STR3 := STR1 || ' ' || STR2;
DBMS_OUTPUT.PUT_LINE(STR3);

STR3 := CONCAT(STR1, ' ', STR2);
DBMS_OUTPUT.PUT_LINE(STR3);

END;

The stored procedure PROC1 defines three string variables: STR1, STR2 and STR3. In the stored procedure, first use the || symbol to connect STR1 and STR2 together and assign the value to STR3, and then use the CONCAT function to connect STR1 and STR2 together and assign the value to STR3. Finally, use DBMS_OUTPUT.PUT_LINE to output STR3 to the DBMS output window.

It should be noted that in Oracle stored procedures, if you want to connect multiple strings, it is recommended to use the CONCAT function to operate, which can ensure stability and code readability.

3. Sample code

In order to better understand the string splicing operation in Oracle stored procedures, the complete sample code is given below:

CREATE TABLE USER_INFO (

USER_ID     NUMBER(10),
USER_NAME   VARCHAR2(50),
PHONE_NUM   VARCHAR2(20)

);

INSERT INTO USER_INFO VALUES(1, 'Alice', '1234567890');
INSERT INTO USER_INFO VALUES(2, 'Bob', '0987654321');
INSERT INTO USER_INFO VALUES(3, 'Charlie', '1357924680');

COMMIT;

CREATE OR REPLACE PROCEDURE PROC2 AS

STR1 VARCHAR2(30);
STR2 VARCHAR2(100);

BEGIN

FOR CURR IN (SELECT USER_NAME, PHONE_NUM FROM USER_INFO ORDER BY USER_ID) LOOP
    STR1 := 'USER NAME: ' || CURR.USER_NAME || ', ';
    STR2 := CONCAT(STR2, STR1, 'PHONE NUM: ', CURR.PHONE_NUM, CHR(10));
END LOOP;
DBMS_OUTPUT.PUT_LINE(STR2);

END;

After running this stored procedure, the name and phone number of each user will be output. Among them, CHR(10) represents Unicode character 10, which is the carriage return character and is used for line feed output.

4. Summary

String splicing is often used in Oracle stored procedures, and the || symbol and CONCAT function are common methods to implement splicing. You can use the || symbol to connect two strings, but it is not suitable for connecting multiple strings; the CONCAT function can connect multiple strings and can handle NULL values, so it is recommended to use the CONCAT function for string splicing operations.

The above is the detailed content of oracle stored procedure splicing. 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