


What are the methods of assigning values to variables in Oracle stored procedures?
Methods for assigning values to variables: 1. Use ":=" to assign values directly, and the syntax is "variable name:=value;"; 2. Use the "select table field into variable from table" statement; 3. Use " execute immediate sql statement string into variable" statement.
The operating environment of this tutorial: Windows 7 system, Oracle 11g version, Dell G3 computer.
Oracle stored procedure variable declaration and assignment methods
1. 3 ways to declare variables
Distinguish according to the declaration method of the data type
Method 1: Directly declare the data type
Format: variable name data type (size)
V_START_DATE VARCHAR2(19); v_num number;
Note:
When set to string type, the size needs to be specified, otherwise an error will be reported;
The declaration of the variable must be before the "begin" keyword conduct.
--错误用法 BEGIN v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)';
Method 2: Use %TYPE statement
Format: variable name table name.Field name %TYPE
Meaning: the variable's The data type is consistent with the data type of the specified field in the specified table
V_ORGSEQ BASE_ORG_INFO.ORGSEQ%TYPE;
Method 3: Use %ROWTYPE statement
Format: variable name table name%ROWTYPE
Meaning: the variable's The data type is consistent with the data type of the specified row record (all fields) of the specified table
--VIRTUAL_CARD表整行数据 V_ROW_VIRTUAL_CARD VIRTUAL_CARD%ROWTYPE;
Summary:
In the stored procedure, when declaring variables, there is no need to use keywords" DECLARE";
Variables are not case-sensitive;
Variables must be declared before use.
2. 3 ways of variable assignment
Method 1: Direct assignment, use ":="
Usage conditions: Applicable to the first two ways of declaring variables.
V_ORGID := '110';
Description:
The variable cannot be directly followed by a sql statement. The sql will not be executed. You can refer to method three.
--错误用法 V_ORGSEQ := SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO; --正确用法 V_ORGSEQ := 'SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO';
The declaration and assignment of variables can be done together.
--正确用法 v_sql varchar2(100) := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)'; BEGIN /* 具体业务 */ END;
Method 2: select table field into variable from table
Variation 1: Query a specified field of the specified table
Use conditions : The first two methods applicable to declaring variables can be used
--根据医疗机构ID查询对应的父机构的机构序列 SELECT ORGSEQ INTO V_ORGSEQ FROM BASE_ORG_INFO WHERE ORGID = (SELECT PARENTORGID FROM BASE_ORG_INFO WHERE ORGID = V_ORGID);
Variation 2: Query all fields of the specified table
Usage conditions: Only applicable to declaration The third method of variables
--将id=5120的VIRTUAL_CARD表数据赋值给变量V_ROW_VIRTUAL_CARD SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120;
Description:
The query result can only return one record;
Query table Fields must be all fields of the table.
Error example:
--错误举例一:查询的是所有表记录 SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T; --错误举例二:查询的是该表的多个字段 SELECT t.id,t.name INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T;
Method 3: execute immediate sql statement string into variable
declare/* 存储过程,不需要声明 */ v_sql varchar2(100); V_ORGSEQ varchar2(100); begin v_sql := 'SELECT ORGSEQ FROM BASE_ORG_INFO where orgcode=to_char(410621101233)'; --V_ORGSEQ赋值 execute immediate v_sql INTO V_ORGSEQ; --打印结果 DBMS_OUTPUT.put_line(V_ORGSEQ); END;
3 .Call of variables
Generally speaking, variables only have these three usage scenarios: assignment, logical judgment, arithmetic operations;
Note: cannot be used as Query column
--错误调用 select V_ORGSEQ from dual;
How to call variables declared using %ROWTYPE?
Using the "variable name. table field" method, you can get the data represented by the specified column (any column) of the specified row (return row) in the table.
--V_ROW_VIRTUAL_CARD赋值 SELECT * INTO V_ROW_VIRTUAL_CARD FROM VIRTUAL_CARD T where t.id = 5120; --调用 DBMS_OUTPUT.put_line(V_ROW_VIRTUAL_CARD.ID);
Recommended tutorial: "Oracle Tutorial"
The above is the detailed content of What are the methods of assigning values to variables in Oracle stored procedures?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



To query the Oracle tablespace size, follow the following steps: Determine the tablespace name by running the query: SELECT tablespace_name FROM dba_tablespaces; Query the tablespace size by running the query: SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

Oracle View Encryption allows you to encrypt data in the view, thereby enhancing the security of sensitive information. The steps include: 1) creating the master encryption key (MEk); 2) creating an encrypted view, specifying the view and MEk to be encrypted; 3) authorizing users to access the encrypted view. How encrypted views work: When a user querys for an encrypted view, Oracle uses MEk to decrypt data, ensuring that only authorized users can access readable data.

Data import method: 1. Use the SQLLoader utility: prepare data files, create control files, and run SQLLoader; 2. Use the IMP/EXP tool: export data, import data. Tip: 1. Recommended SQL*Loader for big data sets; 2. The target table should exist and the column definition matches; 3. After importing, data integrity needs to be verified.

There are three ways to view instance names in Oracle: use the "sqlplus" and "select instance_name from v$instance;" commands on the command line. Use the "show instance_name;" command in SQL*Plus. Check environment variables (ORACLE_SID on Linux) through the operating system's Task Manager, Oracle Enterprise Manager, or through the operating system.

Uninstall method for Oracle installation failure: Close Oracle service, delete Oracle program files and registry keys, uninstall Oracle environment variables, and restart the computer. If the uninstall fails, you can uninstall manually using the Oracle Universal Uninstall Tool.

There are the following methods to get time in Oracle: CURRENT_TIMESTAMP: Returns the current system time, accurate to seconds. SYSTIMESTAMP: More accurate than CURRENT_TIMESTAMP, to nanoseconds. SYSDATE: Returns the current system date, excluding the time part. TO_CHAR(SYSDATE, 'YYY-MM-DD HH24:MI:SS'): Converts the current system date and time to a specific format. EXTRACT: Extracts a specific part from a time value, such as a year, month, or hour.

SQL statements can be created and executed based on runtime input by using Oracle's dynamic SQL. The steps include: preparing an empty string variable to store dynamically generated SQL statements. Use the EXECUTE IMMEDIATE or PREPARE statement to compile and execute dynamic SQL statements. Use bind variable to pass user input or other dynamic values to dynamic SQL. Use EXECUTE IMMEDIATE or EXECUTE to execute dynamic SQL statements.

An AWR report is a report that displays database performance and activity snapshots. The interpretation steps include: identifying the date and time of the activity snapshot. View an overview of activities and resource consumption. Analyze session activities to find session types, resource consumption, and waiting events. Find potential performance bottlenecks such as slow SQL statements, resource contention, and I/O issues. View waiting events, identify and resolve them for performance. Analyze latch and memory usage patterns to identify memory issues that are causing performance issues.
