annotate docs/source/capabilities.rst @ 281:701f0aae837a

got maxtselctrows working again
author catherine@dellzilla
date Thu, 19 Mar 2009 16:45:45 -0400
parents 8ea39093ddf2
children 4eef08cfaf25
rev   line source
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
1 ==============================
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
2 SQLPython's extra capabilities
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
3 ==============================
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
4
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
5 For the most part, SQLPython simply duplicates SQL\*Plus's capabilites.
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
6
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
7 Neatened output
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
8 ===============
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
9
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
10 When printing query results, sqlpython economizes on screen space by allocating
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
11 only the width each column actually needs.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
12
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
13 Smart prompt
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
14 ============
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
15
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
16 sqlpython automatically uses `username`@`instance`> as its prompt, helping
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
17 avoid wrong-instance and wrong-user errors.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
18
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
19 Tab completion
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
20 ==============
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
21
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
22 When typing SQL commands, hitting `<TAB>` after entering part of an object
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
23 or column name brings up a list of appropriate possibilities or, if there
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
24 is only one possibility, fills in the rest of the name. This feature is
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
25 not yet very reliable, but can save typing.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
26
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
27 Scripting
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
28 =========
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
29
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
30 Like SQL\*Plus, sqlpython can run scripts (text files with series of SQL and
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
31 sqlpython commands) with `@/path/to/script.sql` or (for online scripts)
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
32 `@http://scripthost/scriptlibrary/script.sql`.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
33
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
34 History
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
35 =======
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
36
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
37 The up- and down-arrow keys allow you to scroll through the lines entered so far
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
38 in your sqlpython session.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
39
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
40 Commands are also entered into a command history.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
41
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
42 `history` or `hi`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
43 List entire command history
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
44
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
45 `list` or `li`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
46 List only last command
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
47
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
48 `hi <N>`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
49 List command number <N> from history.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
50
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
51 `hi <N>-`, `hi -<N>`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
52 List commands from <N> onward, or up to <N>
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
53
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
54 `hi <str>`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
55 Lists commands that include the string <str>
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
56
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
57 `hi /<regex>/`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
58 Lists commands that match the regular expression <regex>
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
59
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
60 `run`, `r`, or `\\g`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
61 Run the most recent command again
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
62
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
63 `run <N>`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
64 Run command <N>
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
65
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
66 `run <str>`, `run /<regex>/`
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
67 Run command matching <str> or <regex> (as for `history`) -
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
68 if multiple items would match, run most recent
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
69
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
70 Special I/O destinations
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
71 ========================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
72
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
73 Much as in a UNIX shell, you can follow a command with a special output destination.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
74
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
75 `> {filename}` sends the output to a file. This is more convenient than SQL\*Plus's
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
76 SPOOL {filename}... SPOOL OFF (though you can use those as well).
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
77
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
78 `>` alone (no filename) sends the output to the paste buffer.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
79
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
80 `|` pipes the output to an operating-system command.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
81
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
82 When `< {filename}` is included in your command, it is replaced with the contents of
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
83 {filename} before the command is run.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
84
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
85 Examples::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
86
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
87 Special output formats
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
88 ======================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
89
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
90 By replacing the `;` that terminates a SELECT statement with a backslash-character
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
91 sequence, you can get output in a number of useful formats. The `terminators`
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
92 command lists them, for your convenience::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
93
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
94 === ======================== ================================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
95 Especially useful for
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
96 === ======================== ================================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
97 ; standard Oracle format
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
98 \c CSV (with headings) sending to spreadsheets
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
99 \C CSV (no headings)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
100 \g list wide output with linewraps
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
101 \G aligned list
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
102 \h HTML table web reports
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
103 \i INSERT statements copying to other instances
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
104 \j JSON
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
105 \s CSV (with headings)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
106 \S CSV (no headings)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
107 \t transposed "narrow" tables like v$database
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
108 \x XML
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
109 \l line plot, with markers
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
110 \L scatter plot (no lines)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
111 \b bar graph
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
112 \p pie chart
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
113 === ======================== ================================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
114
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
115 Most of these output formats are even more useful when combined with special output
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
116 destinations. For example, `SELECT * FROM party\h > /var/www/party_report.html`
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
117 could create an HTML report in the webserver's documents directory, ready to serve.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
118
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
119 UNIX-like commands
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
120 ==================
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
121
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
122 Many sqlpython commands allow you to act as though the database objects
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
123 were files in a UNIX filesystem. Many of the commands also accept flags
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
124 to modify their behavior.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
125
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
126 ls {object type/object name, with wildcards}
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
127 Lists objects from the data dictionaries, as though they were in a
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
128 *object_type*/*object_name* directory structure. Thus, `ls view/\*`
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
129 lists all the user's views. Calling with no argument is equivalent
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
130 to `ls *`.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
131
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
132 Options::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
133
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
134 -l, --long long descriptions
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
135 -a, --all all schemas' objects (otherwise, you only get your own)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
136 -t, --timesort Sort by last_ddl_time
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
137 -r, --reverse Reverse order while sorting
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
138
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
139 `ls -lt *;10` lists the ten items with the most recent last_ddl_time;
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
140 this can be a good way to answer the question, "What was I working on?"
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
141
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
142 cat {remainder of query}
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
143 Shorthand for "SELECT * FROM". Can be combined with anything else
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
144 that fits into a SELECT statement (WHERE, ORDER BY, etc.)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
145
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
146 grep {grep {target} {table} [{table2,...}]
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
147 Equivalent to SELECT * FROM {table} WHERE *any column* LIKE '%{target}%'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
148 Useful when you don't know, don't remember, or don't care which column
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
149 a value may be found in.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
150
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
151 Options::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
152
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
153 -i, --ignore-case Case-insensitive search
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
154
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
155 find -c {target}, find -t {column}
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
156 Lists all tables or columns whose names contain {target}. More convenient than
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
157 querying user_tab_columns/all_tab_columns or user_tables/all_tables.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
158 Options::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
159 -a Find all objects (not just my own)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
160
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
161 PostgreSQL-like shortcuts
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
162 =========================
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
163
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
164 ----- ------------------
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
165 z y
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
166 ----- ------------------
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
167 \\c connect
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
168 \\d desc
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
169 \\e edit
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
170 \\g run
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
171 \\h help
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
172 \\i load
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
173 \\o spool
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
174 \\p list
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
175 \\q quit
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
176 \\w save
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
177 \\db _dir_tablespaces
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
178 \\dd comments
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
179 \\dn _dir_schemas
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
180 \\dt _dir_tables
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
181 \\dv _dir_views
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
182 \\di _dir_indexes
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
183 \\? help psql
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
184 ----- ------------------
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
185
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
186 PL/SQL source code
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
187 ==================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
188
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
189 pull {object_name}
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
190 Displays the PL/SQL source code for {object_name}.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
191
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
192 Options:
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
193 -d, --dump dump results to files (object_type/object_name.sql)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
194 -f, --full get dependent objects as well
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
195 -a, --all all schemas' objects
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
196
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
197 bzr, git, hg {object_name}
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
198 Dump source code to files, as `pull -f`, but also creates or commits to a
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
199 repository of the appropriate distributed version control system
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
200 (Bazaar, Git, or Mercurial, respectively).
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
201
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
202 find {target}
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
203 Lists all PL/SQL objects whose source code contains the {target} string.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
204 Always case-insensitive.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
205 Options::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
206 -a Search all PL/SQL objects (not just my own)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
207
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
208
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
209 Bind variables
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
210 ==============
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
211
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
212 Bind variables work in sqlpython as they do in SQL\*Plus, but they are set dynamically; there
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
213 is no need to declare them before use. The syntax for setting them is more permissive than
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
214 in SQL\*Plus; all these are recognized::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
215
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
216 exec :mybind := 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
217 exec :mybind = 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
218 :mybind := 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
219 :mybind = 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
220
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
221 The current values of all bind variables can be viewed with the `print` command.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
222
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
223 The `bind` command creates and populates bind variables for the final row of the most recent
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
224 SELECT statement executed; each column name is used as a bind variable, which is filled with
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
225 the value. `bind -r {rownumber}` does the same, but fills from row {rownumber} instead of
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
226 from the final row (row numbers begin at 0 for this command).
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
227
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
228 When the `autobind` sqlpython parameter is True, a `bind` statement is issued automatically
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
229 after every query that returns exactly one row.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
230
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
231 Bind variables are available from within Python as a dictionary named `binds` (see Python).
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
232
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
233 Substitution variables
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
234 ======================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
235
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
236 Substitution variables ("&" variables) work much as they do in SQL\*Plus. As in SQL\*Plus,
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
237 the `scan` parameter determines whether queries are scanned to replace substitution
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
238 variables. Unlike SQL\*Plus, sqlpython knows how annoying it is to hit a substitution
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
239 variable you didn't expect, so entering "SET SCAN OFF" when prompted for a substitution
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
240 variable actually aborts the substitution process.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
241
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
242 Wild SQL
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
243 ========
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
244
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
245 Wild SQL is a nonstandard SQL feature that must be enabled with `set wildsql on`. When it is
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
246 enabled, column names in a SELECT statement do not need to be explicitly typed.
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
248 * % or \* as wildcards::
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
249
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
250 SELECT d* FROM v$database;
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
251
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
252 SELECT
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
253
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
254 Wild SQL can only be used in the primary column list of straightforward SELECT statements,
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
255 not in subqueries, `UNION`ed queries, etc.
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
256
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
257 Parameters
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
258 ==========
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
259
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
260 Several parameters control the behavior of sqlpython itself.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
261
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
262 ===================== ================================================== ===============
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
263 default
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
264 ===================== ================================================== ===============
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
265 autobind When True, single-row queries automatically `bind` False
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
266 commit_on_exit Automatically commits work at end of session True
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
267 continuation_prompt Prompt for second line and onward of long statement >
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
268 default_file_name The file opened by `edit`, if not specified afiedt.buf
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
269 echo Echo command entered before executing False
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
270 editor Text editor invoked by `edit`. varies
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
271 heading Print column names True
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
272 maxfetch Maximum number of rows to return from any query 1000
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
273 maxtselctrows Maximum # of rows from a tselect or \\n query 10
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
274 prompt Probably unwise to change user@instance>
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
275 scan Interpret & as indicating substitution variables True
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
276 serveroutput Print DBMS_OUTPUT.PUT_LINE results True
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
277 sql_echo Print text of "behind-the-scenes" queries False
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
278 timeout In seconds 30
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
279 timing Print time for each command to execute False
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
280 wildsql Accept *, %, #, and ! in column names False
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
281 ===================== ================================================== ===============
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
282
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
283 The user can change these with the `set {paramname} {new-value}` statement.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
284 The True/False parameters accept new
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
285 values permissively, recognizing "True", "False", "T", "F", "yes", "no", "on", "off"...
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
286
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
287 `set` and `show` both list the current values of the sqlpython parameters.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
288 `show parameter {param}` shows current Oracle parameters (from v$parameter), as it does
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
289 in SQL\*Plus.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
290
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
291 Tuning
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
292 ======
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
293
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
294 In sqlpython, `explain {SQL ID}` shows the execution plan for the SQL statement with the
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
295 given ID. If SQL ID is omitted, it defaults to the most recent SQL executed.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
296 (This is not necessarily the last statement `EXPLAIN PLAN` was issued against.)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
297
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
298 Other specialized sqlpython tuning commands include:
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
299
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
300 load
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
301 Displays OS load on cluster nodes (10gRAC)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
302
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
303 longops
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
304 Displays long-running operations
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
305
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
306 sessinfo
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
307 Reports session info for the given sid, extended to RAC with gv$
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
308
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
309 top, top9i
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
310 Displays active sessions
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
311
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
312
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
313
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
314
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
315