oracle_pl_sql

Oracle PL/SQL

Return to Oracle Database, Oracle Cloud, Oracle, Oracle SQL Topics, Oracle SQL Glossary, Oracle SQL Fundamentals, SQL-based Programming Languages, Microsoft T-SQL, Microsoft SQL Server


Oracle PL/SQL

Summarize this topic in 30 paragraphs. Give code examples for each topic. Put a section heading for each paragraph. You MUST put double square brackets around each computer buzzword or jargon or technical words. Answer in MediaWiki syntax.

```mediawiki

Oracle PL/SQL Overview

Oracle PL/SQL (Procedural Language/Structured Query Language) is a database-centric programming language that extends SQL with procedural features. It provides a platform for developers to write sophisticated database applications in a server-side environment. PL/SQL combines the data manipulation power of SQL with the processing power of procedural language to create super-efficient SQL queries.

Basic Structure

A PL/SQL block consists of three sections: declaration, execution, and exception handling. The declaration section is optional and is used to declare any identifiers or variables used in the block. The execution section contains the logic of the PL/SQL block, which is mandatory. The exception handling section is also optional and is used to handle any errors or exceptions that occur during the execution of the PL/SQL block.

```sql BEGIN

 -- Execution section code here
EXCEPTION
 WHEN others THEN
   -- Exception handling code here
END; ```

Variables and Constants

In PL/SQL, variables and constants need to be declared in the declaration section of a PL/SQL block. Variables are placeholders for storing data that may change during the PL/SQL block's execution. Constants are similar to variables, except that their values do not change once defined.

```sql DECLARE

 v_number NUMBER := 10; -- Variable
 c_constant CONSTANT NUMBER := 20; -- Constant
BEGIN
 -- Execution section code here
END; ```

Data Types

PL/SQL supports a variety of data types, including scalar (such as NUMBER, VARCHAR2), composite (such as RECORDS and COLLECTIONS), reference, and LOB types. Choosing the appropriate data type for your variables is crucial for the performance and accuracy of your PL/SQL programs.

```sql DECLARE

 v_number NUMBER(10);
 v_string VARCHAR2(100);
 v_date DATE;
BEGIN
 -- Execution section code here
END; ```

Control Structures

PL/SQL provides control structures that allow you to control the flow of execution in your programs. These include conditional statements (IF-THEN-ELSE) and looping statements (LOOP, FOR LOOP, WHILE LOOP).

```sql BEGIN

 IF v_number = 10 THEN
   -- code to be executed if condition is true
 ELSE
   -- code to be executed if condition is false
 END IF;
 
 FOR i IN 1..10 LOOP
   -- code to be executed for each iteration
 END LOOP;
END; ```

Cursors

Cursors in PL/SQL allow you to retrieve multiple rows from a query and process each row individually. Cursors can be implicit or explicit. Implicit cursors are automatically created by Oracle for DML statements. Explicit cursors must be declared and can be controlled by OPEN, FETCH, and CLOSE operations.

```sql DECLARE

 CURSOR c_emp IS
   SELECT * FROM employees;
 r_emp c_emp%ROWTYPE;
BEGIN
 OPEN c_emp;
 LOOP
   FETCH c_emp INTO r_emp;
   EXIT WHEN c_emp%NOTFOUND;
   -- process each row
 END LOOP;
 CLOSE c_emp;
END; ```

Exception Handling

Exception handling in PL/SQL is a critical part of writing robust database applications. PL/SQL provides a mechanism to catch exceptions (errors) that occur during the execution of a PL/SQL block and respond appropriately.

```sql BEGIN

 -- Execution section code here
EXCEPTION
 WHEN NO_DATA_FOUND THEN
   -- code to handle no data found exception
 WHEN OTHERS THEN
   -- code to handle all other exceptions
END; ```

Procedures and Functions

Procedures and functions are named PL/SQL blocks that can take parameters and be invoked. Procedures do not return a value directly, while functions return a value to the caller. Both are used to encapsulate and reuse logic in PL/SQL applications.

```sql CREATE OR REPLACE PROCEDURE proc_name(p_param1 IN NUMBER) IS BEGIN

 -- procedure code here
END;

CREATE OR REPLACE FUNCTION func_name(f_param1 IN NUMBER) RETURN NUMBER IS

 v_number NUMBER;
BEGIN
 -- function code here
 RETURN v_number;
END; ```

Packages

Packages are groups of related procedures, functions, variables, and other elements. They are used to modularize and encapsulate PL/SQL logic, making applications easier to understand, maintain, and extend.

```sql CREATE OR REPLACE PACKAGE my_package IS

 -- Package specification
 PROCEDURE proc_name(p_param1 IN NUMBER);
 FUNCTION func_name(f_param1 IN NUMBER) RETURN NUMBER;
END my_package;

CREATE OR REPLACE PACKAGE BODY my_package IS

 -- Package body
 PROCEDURE proc_name(p_param1 IN NUMBER) IS
 BEGIN
   -- procedure implementation

 END;
 FUNCTION func_name(f_param1 IN NUMBER) RETURN NUMBER IS
 BEGIN
   -- function implementation
   RETURN f_param1;
 END;
END my_package; ```

Triggers

Triggers are PL/SQL blocks that are automatically executed or fired when certain events occur. Triggers can be defined on tables to execute before or after inserts, updates, or deletes.

```sql CREATE OR REPLACE TRIGGER before_employee_update BEFORE UPDATE ON employees FOR EACH ROW BEGIN

 -- Trigger code here
END; ```

Dynamic SQL

Dynamic SQL in PL/SQL allows you to construct and execute SQL statements dynamically at runtime. This is useful when you need to build queries based on variable inputs.

```sql DECLARE

 v_table_name VARCHAR2(50) := 'employees';
 v_sql VARCHAR2(1000);
BEGIN
 v_sql := 'SELECT * FROM ' || v_table_name;
 EXECUTE IMMEDIATE v_sql;
END; ```

Collections

Collections in PL/SQL are composite types that can hold multiple values of the same type. There are three types of collections: VARRAYs, NESTED TABLES, and ASSOCIATIVE ARRAYS (or index-by tables).

```sql DECLARE

 TYPE t_numbers IS TABLE OF NUMBER;
 v_numbers t_numbers := t_numbers(1, 2, 3);
BEGIN
 -- Use collection here
END; ```

Bulk Collect and FORALL

Bulk operations in PL/SQL, such as BULK COLLECT and FORALL, allow for the efficient processing of multiple rows at a time, significantly improving performance for large data sets.

```sql DECLARE

 TYPE t_emp_tab IS TABLE OF employees%ROWTYPE;
 v_emps t_emp_tab;
BEGIN
 SELECT * BULK COLLECT INTO v_emps FROM employees;
 FORALL i IN 1..v_emps.COUNT
   UPDATE employees SET salary = salary * 1.1 WHERE employee_id = v_emps(i).employee_id;
 COMMIT;
END; ```

Records

Records in PL/SQL are composite data types that allow you to treat related data as a single unit. A record can contain fields with different data types, similar to a row in a database table.

```sql DECLARE

 TYPE t_employee_rec IS RECORD (
   employee_id employees.employee_id%TYPE,
   employee_name employees.first_name%TYPE
 );
 v_emp_rec t_employee_rec;
BEGIN
 -- Use record here
END; ```

Autonomous Transactions

Autonomous transactions in PL/SQL allow you to perform transactions independently of the main transaction. They are useful for logging and error handling, among other things.

```sql CREATE OR REPLACE PROCEDURE log_error(err_msg VARCHAR2) IS

 PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
 INSERT INTO error_log (message) VALUES (err_msg);
 COMMIT;
END; ```

Pragmas

Pragmas are compiler directives that provide additional information to the compiler but do not affect the runtime behavior of the program. The most common pragma in PL/SQL is the PRAGMA EXCEPTION_INIT which associates an exception with an Oracle error number.

```sql DECLARE

 ex_custom EXCEPTION;
 PRAGMA EXCEPTION_INIT(ex_custom, -20001);
BEGIN
 -- Execution section code here
EXCEPTION
 WHEN ex_custom THEN
   -- handle custom exception
END; ```

Object Types

Object types in PL/SQL allow for the definition of data types that can encapsulate data and related methods. This supports an object-oriented programming approach within Oracle databases.

```sql CREATE OR REPLACE TYPE t_employee AS OBJECT (

 employee_id NUMBER,
 first_name VARCHAR2(50),
 last_name VARCHAR2(50),
 MEMBER FUNCTION get_full_name RETURN VARCHAR2
); / CREATE OR REPLACE TYPE BODY t_employee IS
 MEMBER FUNCTION get_full_name RETURN VARCHAR2 IS
 BEGIN
   RETURN first_name || ' ' || last_name;
 END;
END; / ```

Pipelined Functions

Pipelined functions allow PL/SQL functions to return a result set that can be treated as a table by SQL statements. This is particularly useful for transforming data within SQL queries.

```sql CREATE OR REPLACE FUNCTION get_numbers RETURN t_numbers PIPELINED IS BEGIN

 FOR i IN 1..10 LOOP
   PIPE ROW(i);
 END LOOP;
 RETURN;
END; ```

Large Objects (LOBs)

LOBs (Large Objects) are used to store large amounts of data, such as text, images, and videos. PL/SQL provides support for managing LOBs, which include BLOB, CLOB, and NCLOB data types.

```sql DECLARE

 v_blob BLOB;
BEGIN
 SELECT image INTO v_blob FROM employee_photos WHERE employee_id = 101;
 -- Use LOB here
END; ``

`

XML in PL/SQL

XML processing in PL/SQL is facilitated through a set of functions and procedures that allow for the manipulation and retrieval of XML data. This includes generating XML documents from query results and parsing XML documents.

```sql DECLARE

 v_xml XMLTYPE;
BEGIN
 SELECT XMLELEMENT("Employee", XMLATTRIBUTES(e.employee_id AS "ID"),
   XMLELEMENT("FirstName", e.first_name),
   XMLELEMENT("LastName", e.last_name))
 INTO v_xml
 FROM employees e
 WHERE e.employee_id = 101;
 
 -- Use XML here
END; ```

JSON in PL/SQL

Oracle Database also supports JSON data manipulation through PL/SQL, enabling the storage, generation, and parsing of JSON data directly within the database.

```sql DECLARE

 v_json CLOB;
BEGIN
 v_json := '{"name": "John", "age": 30, "city": "New York"}';
 -- Process JSON here
END; ```

Concurrency and Locking

Concurrency control and locking mechanisms in PL/SQL ensure data integrity when multiple sessions access and modify the same data concurrently. Techniques include optimistic locking, pessimistic locking, and using Oracle's built-in locking mechanisms.

```sql BEGIN

 SELECT salary INTO v_salary FROM employees WHERE employee_id = 101 FOR UPDATE;
 -- Update salary here
 COMMIT;
END; ```

Performance Tuning

Performance tuning in PL/SQL involves optimizing SQL statements and PL/SQL code to reduce resource consumption and improve execution speed. This includes using proper indexes, avoiding unnecessary computations, and optimizing loop and conditional logic.

```sql BEGIN

 FOR c_rec IN (SELECT * FROM large_table WHERE condition = 'X') LOOP
   -- Minimized logic for faster execution
 END LOOP;
END; ```

Security Features

PL/SQL supports several security features, including invoker's rights and definer's rights, fine-grained access control, and secure application roles, to enhance the security of database applications.

```sql CREATE OR REPLACE PROCEDURE secure_proc AUTHID CURRENT_USER IS BEGIN

 -- Procedure code that executes with the privileges of the current user
END; ```

PL/SQL remains a powerful tool for Oracle database developers, offering features that cater to a wide range of database programming needs. From basic data manipulation and procedural logic to advanced features like object types and XML/JSON processing, PL/SQL enables the development of robust, efficient, and secure database applications. ```


Oracle PL/SQL

In 35 paragraphs give code examples comparing and contrasting Oracle T-SQL, IBM PL/SQL, and SQL:2016 ISO/IEC 9075 “Information technology - Database languages - SQL”. Put a section heading for each paragraph. You MUST put double square brackets around each computer buzzword or jargon or technical words. Answer in MediaWiki syntax.

Oracle PL/SQL, T-SQL (used by Microsoft SQL Server), and the 2016 ISO/IEC 9075 standard represent different aspects of SQL and its procedural extensions used for database management and programming. While Oracle PL/SQL and T-SQL are proprietary extensions designed for their respective databases, SQL:2016 represents the international standard for SQL databases. This comparison will provide insights into their differences and similarities through specific code examples.

Overview of Oracle PL/SQL

Oracle PL/SQL is a comprehensive procedural extension of SQL designed for the Oracle Database. It integrates seamlessly with SQL, enabling developers to write complex database-centric programs that include logic directly inside the database.

```sql BEGIN

 -- Example of PL/SQL block
 DBMS_OUTPUT.PUT_LINE('Hello from Oracle PL/SQL!');
END; ```

Overview of T-SQL

T-SQL (Transact-SQL) is Microsoft SQL Server's extension of SQL. It includes proprietary procedural programming extensions, offering a rich set of commands for transaction control, error handling, and row processing.

```sql – Example of T-SQL code PRINT 'Hello from T-SQL!'; ```

Overview of SQL:2016

2016 ISO/IEC 9075, also known as SQL Standard, is the international standard for SQL databases. It defines the SQL language syntax and ensures interoperability across different database systems. SQL:2016 does not include procedural extensions akin to PL/SQL or T-SQL but focuses on structured query language itself.

```sql – Example of a SQL:2016 statement SELECT 'Hello from SQL:2016!' AS greeting; ```

Declaring Variables

In Oracle PL/SQL, variables are declared in the declaration section of a PL/SQL block.

```sql DECLARE

 message VARCHAR2(100) := 'Hello from Oracle PL/SQL!';
BEGIN
 DBMS_OUTPUT.PUT_LINE(message);
END; ```

In T-SQL, variables are declared using the DECLARE statement within batches or stored procedures.

```sql DECLARE @message VARCHAR(100) = 'Hello from T-SQL!'; PRINT @message; ```

SQL:2016 standard does not explicitly define variables for procedural tasks but supports parameters and local variables within routines.

Conditional Statements

Oracle PL/SQL supports IF-THEN-ELSE logic for executing code based on conditions.

```sql BEGIN

 IF 1=1 THEN
   DBMS_OUTPUT.PUT_LINE('True in Oracle PL/SQL');
 END IF;
END; ```

T-SQL also supports IF-THEN-ELSE logic, with a slightly different syntax.

```sql IF 1=1

 PRINT 'True in T-SQL';
```

SQL:2016 specifies the CASE expression for conditional logic in queries, not procedural conditions.

```sql SELECT CASE WHEN 1=1 THEN 'True in SQL:2016' END AS Result; ```

Looping Constructs

Oracle PL/SQL provides LOOP, WHILE LOOP, and FOR LOOP constructs for iteration.

```sql BEGIN

 FOR i IN 1..5 LOOP
   DBMS_OUTPUT.PUT_LINE('Loop ' || i);
 END LOOP;
END; ```

T-SQL offers WHILE loops for repetitive control flow.

```sql DECLARE @i INT = 1; WHILE @i ⇐ 5 BEGIN

 PRINT 'Loop ' + CAST(@i AS VARCHAR);
 SET @i = @i + 1;
END; ```

SQL:2016 does not include procedural loop constructs in its standard.

Error Handling

Oracle PL/SQL uses EXCEPTION blocks for error handling.

```sql BEGIN

 -- Code that might raise an error
EXCEPTION
 WHEN OTHERS THEN
   DBMS_OUTPUT.PUT_LINE('Error in Oracle PL/SQL');
END; ```

T-SQL uses TRY…CATCH blocks for error handling.

```sql BEGIN TRY

 -- Code that might raise an error
END TRY BEGIN CATCH
 PRINT 'Error in T-SQL';
END CATCH; ```

SQL:2016 defines standard SQLSTATE codes for error handling but not the procedural constructs like TRY…CATCH.

Cursors

Oracle PL/SQL uses cursors for processing rows returned by a SELECT statement.

```sql DECLARE

 CURSOR c1 IS SELECT * FROM dual;
BEGIN
 FOR record IN c1 LOOP
   DBMS_OUTPUT.PUT_LINE('Cursor in Oracle PL/SQL');
 END LOOP;
END; ```

T-SQL also supports cursors for row-by-row processing.

```sql DECLARE cursor_name CURSOR FOR SELECT * FROM sys.objects; OPEN cursor_name; – Fetch and process rows CLOSE cursor_name; DEALLOCATE cursor_name; ```

SQL:2016 defines cursors for fetching rows from a result set but leaves the implementation details to the database systems.

Transactions

Oracle PL/SQL

allows for sophisticated transaction control using COMMIT and ROLLBACK within PL/SQL blocks.

```sql BEGIN

 UPDATE my_table SET column_name = 'value';
 COMMIT;
END; ```

T-SQL provides similar transaction control mechanisms.

```sql BEGIN TRANSACTION; UPDATE my_table SET column_name = 'value'; COMMIT TRANSACTION; ```

SQL:2016 specifies the syntax for transaction control, ensuring consistency across different SQL databases.

Procedures and Functions

Oracle PL/SQL allows the creation of stored procedures and functions for encapsulating and reusing code.

```sql CREATE OR REPLACE PROCEDURE my_procedure IS BEGIN

 DBMS_OUTPUT.PUT_LINE('Oracle PL/SQL Procedure');
END; ```

T-SQL supports stored procedures and functions with a different syntax.

```sql CREATE PROCEDURE myProcedure AS BEGIN

 PRINT 'T-SQL Procedure';
END; ```

SQL:2016 standard describes the creation of routines (procedures and functions) to ensure interoperability.

Modular Code with Packages

Oracle PL/SQL supports packages, which are collections of related procedures, functions, and variables.

```sql CREATE OR REPLACE PACKAGE my_package IS

 PROCEDURE my_procedure;
END my_package; ```

T-SQL does not have an equivalent package feature but supports schemas for organizing database objects.

```sql CREATE SCHEMA my_schema; GO ```

SQL:2016 does not explicitly cover packages but supports schemas for object organization.

Dynamic SQL

Oracle PL/SQL supports dynamic SQL with the EXECUTE IMMEDIATE statement.

```sql BEGIN

 EXECUTE IMMEDIATE 'CREATE TABLE dynamic_table (id NUMBER)';
END; ```

T-SQL uses the EXEC command for executing dynamic SQL.

```sql EXEC ('CREATE TABLE DynamicTable (ID INT)'); ```

SQL:2016 provides guidelines for using dynamic SQL to ensure cross-database compatibility.

Conclusion

While Oracle PL/SQL, T-SQL, and SQL:2016 cater to different database environments and have their unique features and syntax, they share the core goal of managing and manipulating data efficiently. Oracle PL/SQL and T-SQL extend the standard SQL capabilities with procedural features, error handling, and transaction control, tailored to their respective databases. SQL:2016 lays the foundational standard, ensuring a degree of consistency and interoperability among SQL-compliant databases. This comparison highlights the importance of understanding the specific capabilities and best practices of each language and standard when developing database solutions.


Oracle: Surveillance Valley - The Rise of the Military-Digital Complex - History of the Internet, Military Industrial Complex, Media Industrial Complex - The Media Machine, Big Tech Technocracy, Oracle DevOps - Oracle SRE, Oracle Cloud Native - Oracle and Kubernetes, Oracle Cloud - Oracle Data Centers, Oracle GitHub - Oracle Open Source (), Oracle Development Tools (), Oracle Programming Languages (Java), Oracle APIs, Oracle and Concurrent Parallel Programming (), Oracle and Functional Programming (), Oracle and Microservices, Oracle Security - Oracle Security Breaches, Oracle Research, Oracle Networking, Oracle Data Science - Oracle DataOps - Oracle Databases, Oracle Artificial Intelligence (Oracle ML - Oracle MLOps, Oracle DL, Oracle AR - Oracle VR), Oracle IoT, Oracle Products - Oracle Services (), Oracle Operating Systems (), Oracle Software (), Oracle Hardware - Oracle Devices (), Oracle Support (), Oracle Media (), Oracle Communication (), Oracle Concepts (), Oracle acronyms (), Oracle Founders (), Oracle People (), Oracle Outline, Oracle History, Oracle Timeline, Oracle Subsidiaries (), Oracle Privacy (), Oracle Censorship (), Oracle Criticism (), Oracle Bibliography, Oracle Courses, Oracle Certification (), Oracle Glossary, Oracle Topics, Oracle Blogs, Oracle Awesome List. (navbar_oracle - see also navbar_oracle_database, navbar_oracle_cloud)

Oracle Database: Oracle Database 19c, Oracle Database 18c, Oracle Database 12c Release 2, Oracle Database 12c Release 1, Oracle Database 11g Release 2, Oracle Database 11g Release 1, Oracle Database 10g, Oracle Database 9i, Oracle Database 8i, Oracle Database 7, Oracle Exadata Database Machine, Oracle Exadata Cloud at Customer, Oracle Autonomous Database, Oracle TimesTen In-Memory Database, Oracle Berkeley DB, Oracle MySQL Database Service, Oracle MySQL Enterprise Edition, Oracle MySQL Standard Edition, Oracle MySQL Classic Edition, Oracle MySQL Cluster CGE. (navbar_oracle_database - see also navbar_oracle_cloud, navbar_oracle, navbar_database)

Oracle Cloud: Oracle Cloud DevOps, Oracle Cloud Security, Oracle Cloud Pentesting, Oracle Cloud Glossary, Oracle Cloud Topics, Awesome IBM Cloud. Oracle Cloud Infrastructure Compute, Oracle Cloud Infrastructure Block Volume, Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure File Storage, Oracle Cloud Infrastructure Networking, Oracle Cloud Infrastructure Load Balancing, Oracle Cloud Infrastructure DNS, Oracle Cloud Infrastructure FastConnect, Oracle Cloud Infrastructure VPN Connect, Oracle Cloud Infrastructure NAT Gateway, Oracle Cloud Infrastructure Security Zones, Oracle Cloud Infrastructure WAF, Oracle Cloud Infrastructure Firewall, Oracle Cloud Infrastructure Identity and Access Management, Oracle Cloud Infrastructure Key Management, Oracle Cloud Infrastructure Vault, Oracle Cloud Infrastructure Monitoring, Oracle Cloud Infrastructure Notifications, Oracle Cloud Infrastructure Logging, Oracle Cloud Infrastructure Events, Oracle Cloud Infrastructure Resource Manager, Oracle Cloud Infrastructure Service Connector, Oracle Cloud Infrastructure Streams, Oracle Cloud Infrastructure Data Flow, Oracle Cloud Infrastructure Data Science, Oracle Cloud Infrastructure Data Catalog, Oracle Cloud Infrastructure Data Integration, Oracle Cloud Infrastructure Data Safe, Oracle Cloud Infrastructure MySQL Database Service, Oracle Cloud Infrastructure Autonomous Database, Oracle Cloud Infrastructure NoSQL Database, Oracle Cloud Infrastructure Blockchain Platform, Oracle Cloud Infrastructure Streaming, Oracle Cloud Infrastructure Analytics, Oracle Cloud Infrastructure AI, Oracle Cloud Infrastructure Data Catalog, Oracle Cloud Infrastructure Data Flow, Oracle Cloud Infrastructure Data Integration, Oracle Cloud Infrastructure Data Safe, Oracle Cloud Infrastructure Digital Assistant, Oracle Cloud Infrastructure Visual Builder, Oracle Cloud Infrastructure Functions, Oracle Cloud Infrastructure Container Engine for Kubernetes, Oracle Cloud Infrastructure Resource Manager, Oracle Cloud Infrastructure Registry, Oracle Cloud Infrastructure API Gateway, Oracle Cloud Infrastructure Streaming, Oracle Cloud Infrastructure Analytics, Oracle Cloud Infrastructure AI, Oracle Cloud Infrastructure Data Catalog, Oracle Cloud Infrastructure Data Flow, Oracle Cloud Infrastructure Data Integration, Oracle Cloud Infrastructure Data Safe, Oracle Cloud Infrastructure Email Delivery, Oracle Cloud Infrastructure Email Gateway, Oracle Cloud Infrastructure File Storage, Oracle Cloud Infrastructure Notifications, Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Logging, Oracle Cloud Infrastructure Monitoring, Oracle Cloud Infrastructure Events, Oracle Cloud Infrastructure Resource Manager, Oracle Cloud Infrastructure Service Connector, Oracle Cloud Infrastructure Streams, Oracle Cloud Infrastructure Data Flow, Oracle Cloud Infrastructure Data Integration, Oracle Cloud Infrastructure Data Safe, Oracle Cloud Infrastructure Mobile Hub, Oracle Cloud Infrastructure Functions, Oracle Cloud Infrastructure Container Engine for Kubernetes, Oracle Cloud Infrastructure Resource Manager, Oracle Cloud Infrastructure API Gateway, Oracle Cloud Infrastructure Registry, Oracle Cloud Infrastructure Streaming, Oracle Cloud Infrastructure Analytics, Oracle Cloud Infrastructure AI, Oracle Cloud Infrastructure Data Catalog, Oracle Cloud Infrastructure Data Flow, Oracle Cloud Infrastructure Data Integration, Oracle Cloud Infrastructure Data Safe, Oracle Cloud Infrastructure Mobile Hub, Oracle Cloud Infrastructure Functions, Oracle Cloud Infrastructure Container Engine for Kubernetes, Oracle Cloud Infrastructure Resource Manager, Oracle Cloud Infrastructure API Gateway, Oracle Cloud Infrastructure Registry, Oracle Cloud Infrastructure Streaming, Oracle Cloud Infrastructure Analytics, Oracle Cloud Infrastructure AI, Oracle Cloud Infrastructure Data Catalog, Oracle Cloud Infrastructure Data Flow, Oracle Cloud Infrastructure Data Integration, Oracle Cloud Infrastructure Data Safe. (navbar_oracle_cloud - see also see also navbar_oracle, navbar_oracle_cloud_devops, navbar_oracle_cloud_developer, navbar_oracle_cloud_security, navbar_oracle_cloud_kubernetes, navbar_oracle_cloud_native, navbar_oracle_cloud_microservices, navbar_oracle_cloud_databases, navbar_oracle_cloud_iac, navbar_azure, navbar_gcp, navbar_ibm_cloud, navbar_oracle_cloud)


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


oracle_pl_sql.txt · Last modified: 2024/04/28 03:14 by 127.0.0.1