annotate docs/source/capabilities.rst @ 325:8721372d81be

Added tag 1.6.4 for changeset 9cbea1d8872e
author Catherine Devlin <catherine.devlin@gmail.com>
date Fri, 03 Apr 2009 13:09:59 -0400
parents dd7b3e4b58dd
children 3efffbf7481f
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
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
42 history *or* hi
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
43 List entire command history
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
44
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
45 list *or* li
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
46 List only last command
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
47
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
48 hi `<N>`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
49 List command number <N> from history.
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
50
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
51 hi `<N>-`, hi `-<N>`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
52 List commands from <N> onward, or up to <N>
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
53
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
54 hi `<str>`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
55 Lists commands that include the string <str>
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
56
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
57 hi `/<regex>/`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
58 Lists commands that match the regular expression <regex>
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
59
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
60 run, r, *or* `\\g`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
61 Run the most recent command again
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
62
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
63 run `<N>`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
64 Run command <N>
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
65
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
66 run `<str>`, run `/<regex>/`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
67 Run command matching <str> or <regex> (as for `history`) -
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
68 if multiple items would match, run most recent
279
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
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
87 Need examples!!!!
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
88
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
89 Special output formats
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
90 ======================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
91
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
92 By replacing the `;` that terminates a SELECT statement with a backslash-character
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
93 sequence, you can get output in a number of useful formats. The `terminators`
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
94 command lists them, for your convenience.
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
95
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
96 ========== ======================== ================================
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
97 terminator format Useful for
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
98 ========== ======================== ================================
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
99 ; standard Oracle format
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
100 \\c CSV (with headings) sending to spreadsheets
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
101 \\C CSV (no headings)
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
102 \\g list wide output with linewraps
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
103 \\G aligned list
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
104 \\h HTML table web reports
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
105 \\i INSERT statements copying to other instances
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
106 \\j JSON
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
107 \\s CSV (with headings)
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
108 \\S CSV (no headings)
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
109 \\t transposed "narrow" tables like v$database
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
110 \\x XML
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
111 \\l line plot, with markers
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
112 \\L scatter plot (no lines)
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
113 \\b bar graph
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
114 \\p pie chart
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
115 ========== ======================== ================================
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
116
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
117 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
118 destinations. For example, `SELECT * FROM party\h > /var/www/party_report.html`
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
119 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
120
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
121 UNIX-like commands
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
122 ==================
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
123
279
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
124 Many sqlpython commands allow you to act as though the database objects
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
125 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
126 to modify their behavior.
3c5fa8ed4f8b improving help
catherine@Elli.myhome.westell.com
parents: 247
diff changeset
127
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
128 ls `{object type/object name, with wildcards}`
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
129 Lists objects from the data dictionaries, as though they were in a
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
130 *object_type*/*object_name* directory structure. Thus, `ls view/\*`
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
131 lists all the user's views. Calling with no argument is equivalent
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
132 to `ls *`.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
133
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
134 Options::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
135
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
136 -l, --long long descriptions
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
137 -a, --all all schemas' objects (otherwise, you only get your own)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
138 -t, --timesort Sort by last_ddl_time
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
139 -r, --reverse Reverse order while sorting
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
140
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
141 `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
142 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
143
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
144 cat `{remainder of query}`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
145 Shorthand for "SELECT * FROM". Can be combined with anything else
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
146 that fits into a SELECT statement (WHERE, ORDER BY, etc.)
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
147
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
148 grep `{target}` `{table}` `[{table2,...}]`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
149 Equivalent to SELECT * FROM {table} WHERE *any column* LIKE '%{target}%'.
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
150 Useful when you don't know, don't remember, or don't care which column
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
151 a value may be found in.
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
152
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
153 Options::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
154
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
155 -i, --ignore-case Case-insensitive search
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
156
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
157 find -c {target}, find -t {column}
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
158 Lists all tables or columns whose names contain {target}. More convenient than
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
159 querying user_tab_columns/all_tab_columns or user_tables/all_tables.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
160 Options::
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
161
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
162 -a Find all objects (not just my own)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
163
286
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
164 Data dictionary exploration
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
165 ===========================
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
166
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
167 refs `{table_name}`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
168 Lists all foreign key constraints on the table or referring to the table.
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
169
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
170 deps `{object_name}`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
171 Lists all objects dependent upon the named object.
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
172
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
173 comments `{table_name}`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
174 Prints comments on a table and its columns.
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
175
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
176 PL/SQL source code
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
177 ==================
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
178
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
179 pull {object_name}
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
180 Displays the PL/SQL source code for {object_name}.
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
181
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
182 Options:
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
183 -d, --dump dump results to files (object_type/object_name.sql)
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
184 -f, --full get dependent objects as well
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
185 -a, --all all schemas' objects
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
186
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
187 bzr, git, hg `{object_name}`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
188 Dump source code to files, as `pull -f`, but also creates or commits to a
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
189 repository of the appropriate distributed version control system
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
190 (Bazaar, Git, or Mercurial, respectively).
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
191
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
192 find `{target}`
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
193 Lists all PL/SQL objects whose source code contains the {target} string.
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
194 Always case-insensitive.
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
195 Options::
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
196
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
197 -a Search all PL/SQL objects (not just my own)
abb4c6524113 adding ioug paper
catherine@dellzilla
parents: 283
diff changeset
198
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
199 PostgreSQL-like shortcuts
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
200 =========================
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
201
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
202 psql, the command-line client for the open-source database `PostgreSQL <http://www.postgresql.org/>`_ uses a number
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
203 of backslash-character sequences as convenient shortcuts. sqlpython steals many of
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
204 them.
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
205
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
206 ===== ===================
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
207 \\c connect
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
208 \\d desc
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
209 \\e edit
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
210 \\g run
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
211 \\h help
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
212 \\i load
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
213 \\o spool
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
214 \\p list
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
215 \\q quit
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
216 \\w save
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
217 \\db _dir_tablespaces
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
218 \\dd comments
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
219 \\dn _dir_schemas
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
220 \\dt _dir_tables
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
221 \\dv _dir_views
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
222 \\di _dir_indexes
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
223 \\? help psql
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
224 ===== ===================
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
225
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
226 Bind variables
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
227 ==============
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
228
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
229 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
230 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
231 in SQL\*Plus; all these are recognized::
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
232
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
233 exec :mybind := 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
234 exec :mybind = 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
235 :mybind := 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
236 :mybind = 'value'
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
237
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
238 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
239
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
240 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
241 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
242 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
243 from the final row (row numbers begin at 0 for this command).
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
244
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
245 When the `autobind` sqlpython parameter is True, a `bind` statement is issued automatically
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
246 after every query that returns exactly one row.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
247
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
248 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
249
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
250 Substitution variables
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
251 ======================
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
252
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
253 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
254 the `scan` parameter determines whether queries are scanned to replace substitution
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
255 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
256 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
257 variable actually aborts the substitution process.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
258
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
259 Wild SQL
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
260 ========
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
261
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
262 Wild SQL is a nonstandard SQL feature that must be enabled with `set wildsql on`. When it is
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
263 enabled, column names in a SELECT statement do not need to be explicitly typed; they can be
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
264 specified with special Wild SQL symbols: wildcards (`*`, `%`, `_`); column numbers (`#{N}`);
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
265 and NOT-style exclusion (`!`). The symbols can even be combined.
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
266
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
267 ::
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
268
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
269 jrrt@orcl> cat party
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
270
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
271 NAME STR INT WIS DEX CON CHA
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
272 ------- --- --- --- --- --- ---
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
273 Frodo 8 14 16 15 14 16
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
274 Gimli 17 12 10 11 17 11
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
275 Legolas 13 15 14 18 15 17
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
276 Sam 11 9 14 11 16 13
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
277
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
278 4 rows selected.
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
279
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
280 jrrt@orcl> set wild on
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
281 wildsql - was: False
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
282 now: True
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
283 jrrt@orcl> select *i* from party;
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
284
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
285 INT WIS
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
286 --- ---
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
287 14 16
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
288 12 10
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
289 15 14
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
290 9 14
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
291
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
292 4 rows selected.
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
293
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
294 jrrt@orcl> select #1, #5 from party;
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
295
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
296 NAME DEX
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
297 ------- ---
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
298 Frodo 15
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
299 Gimli 11
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
300 Legolas 18
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
301 Sam 11
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
302
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
303 4 rows selected.
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
304
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
305 jrrt@orcl> select !str from party;
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
306
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
307 NAME INT WIS DEX CON CHA
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
308 ------- --- --- --- --- ---
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
309 Frodo 14 16 15 14 16
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
310 Gimli 12 10 11 17 11
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
311 Legolas 15 14 18 15 17
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
312 Sam 9 14 11 16 13
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
313
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
314 4 rows selected.
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
315
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
316 jrrt@orcl> select n*, !#3, !c* from party;
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
317
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
318 NAME STR WIS DEX
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
319 ------- --- --- ---
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
320 Frodo 8 16 15
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
321 Gimli 17 10 11
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
322 Legolas 13 14 18
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
323 Sam 11 14 11
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
324
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
325 4 rows selected.
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
326
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
327 Wild SQL symbols only work in the first SELECT statement in a query; they do not work in
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
328 subqueries, subsequent UNIONed queries, etc.
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
329
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
330 Python
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
331 ======
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
332
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
333 The `py` command allows the user to execute Python commands, either one-at-a-time (with
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
334 `py {command}`) or in an interactive environment (beginning with a bare `py` statement,
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
335 and continuing until Ctrl-D, `quit()`, or `exit()` is entered).
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
336
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
337 A history of result sets from each query is exposed to the python session as the list `r`;
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
338 the most recent result set is `r[-1]`. Each row can be references as a tuple, or as an
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
339 object with an attribute for each column.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
340
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
341 Bind variables are exposed as the dictionary `binds`. Each row from each result set has
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
342 a .bind() method that fills a bind varible for each column with that row's value.
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
343
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
344 Resultsets in `r` are read-only, but `binds` can be written as well as read, and will
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
345 be working bind variables in the SQL environment.
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
346
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
347 SQL and sqlpython commands can be issued from the Python environment with `sql("{your SQL}")`.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
348
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
349 All variables are retained each time the python environment is entered (whether interactively,
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
350 or with one-line `py` statements).
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
351 ::
247
f0f293d83337 begin docs
catherine@dellzilla
parents:
diff changeset
352
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
353 0:testschema@orcl> select title, author from play;
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
354
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
355 TITLE AUTHOR
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
356 --------------- -----------
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
357 Timon of Athens Shakespeare
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
358 Twelfth Night Shakespeare
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
359 The Tempest Shakespeare
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
360 Agamemnon Aeschylus
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
361
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
362 4 rows selected.
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
363
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
364 0:testschema@orcl> py import urllib
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
365 0:testschema@orcl> py current_season = urllib.urlopen('http://cincyshakes.com/').read()
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
366 0:testschema@orcl> py
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
367 Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
368 [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
369 Type "help", "copyright", "credits" or "license" for more information.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
370 (mysqlpy)
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
371
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
372 py <command>: Executes a Python command.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
373 py: Enters interactive Python mode; end with `Ctrl-D`, `quit()`, or 'exit`.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
374 Past SELECT results are exposed as list `r`;
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
375 most recent resultset is `r[-1]`.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
376 SQL bind, substitution variables are exposed as `binds`, `substs`.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
377 SQL and sqlpython commands can be issued with sql("your non-python command here").
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
378
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
379 >>> r[-1]
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
380 [('Timon of Athens', 'Shakespeare'), ('Twelfth Night', 'Shakespeare'), ('The Tempest', 'Shakespeare'), ('Agamemnon', 'Aeschylus')]
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
381 >>> r[-1][0][0]
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
382 'Timon of Athens'
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
383 >>> for row in r[-1]:
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
384 ... print "%s, by %s" % (row.title, row.author)
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
385 ...
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
386 Timon of Athens, by Shakespeare
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
387 Twelfth Night, by Shakespeare
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
388 The Tempest, by Shakespeare
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
389 Agamemnon, by Aeschylus
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
390 >>> [row.title for row in r[-1] if row.title in current_season]
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
391 ['Timon of Athens', 'Twelfth Night']
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
392 >>> binds['author'] = 'Shakespeare'
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
393 >>> query = "SELECT title FROM play WHERE author = :author"
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
394 >>> sql(query)
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
395
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
396 TITLE
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
397 ---------------
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
398 Timon of Athens
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
399 Twelfth Night
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
400 The Tempest
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
401
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
402 3 rows selected.
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
403
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
404 >>> r[-1]
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
405 [('Timon of Athens',), ('Twelfth Night',), ('The Tempest',)]
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
406 >>> r[-1][0]
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
407 ('Timon of Athens',)
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
408 >>> r[-1][0].bind()
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
409 >>> binds['title']
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
410 'Timon of Athens'
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
411 >>> quit()
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
412 0:testschema@orcl> select title, author from play where title = :title;
282
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
413
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
414 TITLE AUTHOR
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
415 --------------- -----------
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
416 Timon of Athens Shakespeare
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
417
4eef08cfaf25 copied documentation from blog
catherine@dellzilla
parents: 281
diff changeset
418 1 row selected.
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
419
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
420 Parameters
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
421 ==========
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
422
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
423 Several parameters control the behavior of sqlpython itself.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
424
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
425 ===================== =================================================== ===============
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
426 parameter effect default
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
427 ===================== =================================================== ===============
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
428 autobind When True, single-row queries automatically `bind` False
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
429 commit_on_exit Automatically commits work at end of session True
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
430 continuation_prompt Prompt for second line and onward of long statement >
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
431 default_file_name The file opened by `edit`, if not specified afiedt.buf
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
432 echo Echo command entered before executing False
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
433 editor Text editor invoked by `edit`. varies
294
dd7b3e4b58dd new py docs
catherine@dellzilla
parents: 286
diff changeset
434 heading Print column names along with results True
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
435 maxfetch Maximum number of rows to return from any query 1000
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
436 maxtselctrows Maximum # of rows from a tselect or \\n query 10
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
437 prompt Probably unwise to change user@instance>
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
438 scan Interpret & as indicating substitution variables True
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
439 serveroutput Print DBMS_OUTPUT.PUT_LINE results True
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
440 sql_echo Print text of "behind-the-scenes" queries False
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
441 timeout In seconds 30
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
442 timing Print time for each command to execute False
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
443 wildsql Accept *, %, #, and ! in column names False
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
444 ===================== =================================================== ===============
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
445
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
446 The user can change these with the `set {paramname} {new-value}` statement.
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
447 The True/False parameters accept new values permissively, recognizing "True", "False",
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
448 "T", "F", "yes", "no", "on", "off", etc.
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
449
283
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
450 `set` and `show` both list the current values of the sqlpython parameters. They
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
451 also recognize any abbreviated parameter name, so long as it is long enough to be
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
452 unique. That is, `show maxf` is recognized as `show maxfetch`, but `show max` is
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
453 too short to distinguish between `maxfetch` and `maxtselctrows`.
80484bc60bdd still needs refs
catherine@dellzilla
parents: 282
diff changeset
454
281
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
455 `show parameter {param}` shows current Oracle parameters (from v$parameter), as it does
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
456 in SQL\*Plus.
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
457
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
458 Tuning
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
459 ======
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
460
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
461 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
462 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
463 (This is not necessarily the last statement `EXPLAIN PLAN` was issued against.)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
464
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
465 Other specialized sqlpython tuning commands include:
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
466
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
467 load
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
468 Displays OS load on cluster nodes (10gRAC)
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
469
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
470 longops
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
471 Displays long-running operations
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
472
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
473 sessinfo
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
474 Reports session info for the given sid, extended to RAC with gv$
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
475
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
476 top, top9i
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
477 Displays active sessions
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
478
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
479
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
480
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
481
701f0aae837a got maxtselctrows working again
catherine@dellzilla
parents: 280
diff changeset
482