SlideShare a Scribd company logo
1 of 1
Download to read offline
Oracle中SQL解析过程
--------------------------------------------------------------------------------
  The flow of procedure calls will typically look like this:

                         -----------
                       | open_cursor |
                         -----------
                              |
                              |
                              v
                            -----
           ------------>| parse |
         |                  -----
         |                    |
         |                    |---------
         |                    v          |
         |              -------------- |
         |-------->| bind_variable | |
         |      ^       -------------    |
         |      |             |          |
         |        -----------|           |
         |                    |<--------
         |                    v
         |                  query?---------- yes ---------
         |                    |                             |
         |                   no                             |
         |                    |                             |
         |                    v                             v
         |                 -------                    -------------
         |----------->| execute |                 ->| define_column |
         |                 -------              |     -------------
         |                    |------------     |           |
         |                    |             |     ----------|
         |                    v             |               v
         |              --------------      |            -------
         |          ->| variable_value |    | ------>| execute |
         |        |     --------------      | |          -------
         |        |           |             | |             |
         |          ----------|             | |             |
         |                    |             | |             v
         |                    |             | |         ----------
         |                    |<----------- |----->| fetch_rows |
         |                    |               |         ----------
         |                    |               |             |
         |                    |               |             v
         |                    |               |     --------------------
         |                    |               | | column_value            |
         |                    |               | | variable_value          |
         |                    |               |     ---------------------
         |                    |               |             |
         |                    |<--------------------------
         |                    |
           -----------------|
                              |
                              v
                         ------------
                       | close_cursor |
                         ------------

--------------------------------------------------------------------------------
set pagesize 100;
SELECT substr(t.text, 5, 1000)
  FROM all_source t
 WHERE t.owner = 'SYS'
   AND t.type = 'PACKAGE'
   AND t.name = 'DBMS_SQL'
   AND t.line <= 95
   AND t.line >= 38;

More Related Content

Viewers also liked (6)

Arrays的Sort算法分析
Arrays的Sort算法分析Arrays的Sort算法分析
Arrays的Sort算法分析
 
Oracle的Constraint约束V1.1
Oracle的Constraint约束V1.1Oracle的Constraint约束V1.1
Oracle的Constraint约束V1.1
 
Java中的Float&Double以及Ieee754研究V1.0
Java中的Float&Double以及Ieee754研究V1.0Java中的Float&Double以及Ieee754研究V1.0
Java中的Float&Double以及Ieee754研究V1.0
 
top 64 universities of China, their research centers, and researches
top 64 universities of China, their research centers, and researchestop 64 universities of China, their research centers, and researches
top 64 universities of China, their research centers, and researches
 
Etika dan Moral Penggunaan TIK
Etika dan Moral Penggunaan TIKEtika dan Moral Penggunaan TIK
Etika dan Moral Penggunaan TIK
 
Webinar: Cloud-Based Web Security as First/Last Line of Defense
Webinar: Cloud-Based Web Security as First/Last Line of DefenseWebinar: Cloud-Based Web Security as First/Last Line of Defense
Webinar: Cloud-Based Web Security as First/Last Line of Defense
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Oracle中Sql解析过程

  • 1. Oracle中SQL解析过程 -------------------------------------------------------------------------------- The flow of procedure calls will typically look like this: ----------- | open_cursor | ----------- | | v ----- ------------>| parse | | ----- | | | |--------- | v | | -------------- | |-------->| bind_variable | | | ^ ------------- | | | | | | -----------| | | |<-------- | v | query?---------- yes --------- | | | | no | | | | | v v | ------- ------------- |----------->| execute | ->| define_column | | ------- | ------------- | |------------ | | | | | ----------| | v | v | -------------- | ------- | ->| variable_value | | ------>| execute | | | -------------- | | ------- | | | | | | | ----------| | | | | | | | v | | | | ---------- | |<----------- |----->| fetch_rows | | | | ---------- | | | | | | | v | | | -------------------- | | | | column_value | | | | | variable_value | | | | --------------------- | | | | | |<-------------------------- | | -----------------| | v ------------ | close_cursor | ------------ -------------------------------------------------------------------------------- set pagesize 100; SELECT substr(t.text, 5, 1000) FROM all_source t WHERE t.owner = 'SYS' AND t.type = 'PACKAGE' AND t.name = 'DBMS_SQL' AND t.line <= 95 AND t.line >= 38;