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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
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, ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

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;