More Related Content
Similar to Oracle中Sql解析过程
Similar to Oracle中Sql解析过程 (6)
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;