Minimize
Blogger List

Johannes Ahrends
Toad and Oracle

Ben Boise
Toad SC Discussions

Kevin Dalton
Benchmark Factory

Steven Feuerstein
PL/SQL Obsession

Devin Gallagher
Toad SC discussions

Stuart Hodgins
JProbe Discussions

  Henrik "Mauritz" Johnson
Toad Tips & Tricks on the "other" Toads
  Mark Kurtz
Toad SC discussions
  Michael Lumbard
Toad SC discussions
Daniel Norwood
Toad for Data Analysts,
Toad Extension for Visual Studio
Debbie Peabody
Toad for Data Analysts
Gary Piper
Toad Reports Manager
John Pocknell
Toad for Oracle, JProbe
Kuljit Sangha
Toad SC discussions
Bert Scalzo Indicates Oracle ACE status
Toad for Oracle, Data Modeling, Benchmarking
Jeff Smith
Toad product family
Richard To
SQL Optimization
Jim Wankowski
DB2 - LUW and z/OS
John Weathington
  Toad Data Modeler Opens in a new window
Data Modeling
 
  Real Automated Code Testing for Oracle
Quest Code Tester blog
 
Minimize
Blog Tags
toad for oracle (122)
oracle (62)
plsql (46)
sql optimization (37)
toad for data analysts (28)
code tester (19)
toad for ibm db2 (13)
automation (11)
batch optimizer (10)
virtualization (10)
schema browser (9)
toad for sql server (9)
data grid (8)
sql (8)
sql editor (8)
toad data modeler (8)
benchmark factory (7)
excel (7)
query builder (7)
report manager (7)
toad extension (7)
visual studio (7)
11g (6)
configuration (6)
freeware (6)
health check (6)
vmware (6)
connect (5)
dba module (5)
er diagrammer (5)
F4 (5)
linux (5)
refactoring (5)
spotlight (5)
unicode (5)
compare (4)
debugger (4)
export (4)
formatter (4)
make code (4)
rman (4)
strip code (4)
benchmark (3)
bfscript (3)
bulk collect (3)
code templates (3)
code xpert (3)
database browser (3)
db2 (3)
notebook (3)
oem (3)
RAC (3)
session browser (3)
speed (3)
sql optimizer (3)
toad for mysql (3)
tpc-c (3)
9.7 (2)
alert log (2)
app designer (2)
awr (2)
code insight (2)
code snippets (2)
collection (2)
compare and sync (2)
compliance (2)
data generator (2)
data warehouse (2)
database explorer (2)
database monitor (2)
explain (2)
forall (2)
ftp (2)
group execute (2)
handbook (2)
installation (2)
job scheduler (2)
multi-task (2)
nested table (2)
os command (2)
profiler (2)
recovery (2)
release history (2)
save as (2)
schema compare (2)
sql recall (2)
stats pack (2)
subversion (2)
team coding (2)
trace file browser (2)
while loop (2)
10g (1)
64 bit (1)
7zip (1)
action (1)
addm (1)
alter (1)
ansi join (1)
array (1)
ccleaner (1)
code coverage (1)
code road map (1)
CRON (1)
cursor for loop (1)
data browser (1)
data subset (1)
database probe (1)
dbms_flashback (1)
dbms_profiler (1)
ddl (1)
feuerstein (1)
filezilla (1)
flash drive (1)
flow control (1)
for loop (1)
group policy manager (1)
hints (1)
import (1)
index (1)
inheritance (1)
invoker rights (1)
ipad (1)
java (1)
latency (1)
log switch (1)
logical model (1)
ltrim (1)
master-detail browser (1)
monitor (1)
multi-select (1)
naming standards (1)
network (1)
object explorer (1)
OEBS (1)
package (1)
parser (1)
partitioning (1)
performance (1)
pragma (1)
project manager (1)
RAT (1)
revo (1)
REXEC (1)
schema report (1)
script manager (1)
search (1)
set operator (1)
sga (1)
slow (1)
sonarsource (1)
source control (1)
space projection (1)
sql monitor (1)
sql navigator (1)
sql script (1)
sql tracker (1)
sql*plus (1)
standards (1)
statistics (1)
stored procedure (1)
string parser (1)
sub-model (1)
sub-type (1)
synch (1)
synchback (1)
TELNET (1)
toad (1)
trace (1)
unit test (1)
unix (1)
usb (1)
utility (1)
v10 (1)
v9.5 (1)
version control (1)
waits (1)
workload replay (1)
workspace (1)
xml (1)
 
WELCOME, GUEST
 
 

Blogs
Toad and Database Commentaries

Toad World blogs are a mix of insightful how-tos from Quest experts as well as their commentary on experiences with new database technologies.  Have some views of your own to share?  Post your comments!  Note:  Comments are restricted to registered Toad World users.

Do you have a topic that you'd like discussed?  We'd love to hear from you.  Send us your idea for a blog topic.


Nov 28

Written by: StevenFeuersteinTW
Wednesday, November 28, 2007 1:24 PM  RssIcon

Would you like to increase productivity, improve code quality, and ensure that standards are being followed? Of course you would! And one of the best ways to do that is to rely heavily on Toad's Code Templates (similar functionality exists in SQL Navigator as well).

Code Templates are chunks of code that you can assign a name and description. You then use the name to quickly copy the associated code into your editor. I showed in a previous blog (Don't start with a blank slate!) how you can create a template of your own inside Toad.

In this blog entry I take a different approach: I offer (in the last section of the entry) an XML document that has within it a set of templates that I often use in my own development. The names of all these templates are prefixed with the letters "sf." You can then move these templates into your own template environment, whether in Toad or any other tool. Please see end of this blog entry for a challenge to my readers – you could win a signed copy of my brand new Oracle PL/SQL Best Practices, 2nd Edition!

My templates range from simple shortcuts (I hate having to type "DBMS_OUTPUT.PUT_LINE" over and over again) to more elaborate, best-practice oriented templates, such as a standardized structure for new packages, procedures and functions. Here is the list of the current contents of this file:

  • Call DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
  • Call DBMS_UTILITY.FORMAT_ERROR_STACK
  • Call DBMS_UTILITY.FORMAT_CALL_STACK
  • Call DBMS_OUTPUT.PUT_LINE
  • Call DBMS_OUTPUT.PUT_LINE to display a Boolean
  • Sparse Collection Scan: scan the contents of a collection that may be sparse, using a WHILE loop.
  • A BULK COLLECT query with a LIMIT clause
  • A standard package format that you can use as a starting point for development of new packages. Contains a standard header, initialization section, procedure and function templates.
  • A standard procedure format that you can use as a starting point for development of procedures.
  • A standard function format that you can use as a starting point for development of procedures.
  • WHEN OTHERS clause that reminds you of all the information you should be gathering when you handle an exception. WHEN OTHERS clause that relies on the Quest Error Manager  to gather all necessary data. You decide how many name-value pairs you need.
  • A FORALL statement that includes SAVE EXCEPTIONS and the code needed to iterate through that pseudo-collection
  • Standardized approach to documenting workarounds, including what needs to be done to back out the workaround and implement the native, bug-fixed approach.

I encourage you to look through these see which of them you like the best or feel you can use. Then modify them to meet your own standards, and put them to work inside your editor.

Loading these templates into your editor

I chose am generalized XML document format so that these templates could be easily transformed into whatever format is supported by your IDE.

Here is the format I use in my XML document: 

Here is an example of one such template, a shortcut to avoid writing the 20 characters needed to ask PL/SQL to "show me" data:



Here is the format used by Toad (from the LexLib.lxl file in the User Files directory):

Obviously, it is different and I am not yet able to offer a utility to convert from my XML format to Toad's format.

But I do offer this challenge and reward: the first person who sends me a utility to convert an XML document with the structure shown above into both Toad's and SQL Navigator's template file formats will receive a signed copy of my brand new Oracle PL/SQL Best Practices, 2nd Edition. And just to make this fair for those of you that might be reading this from a different time-zone, if you submit your answer and are not the first submission you will be entered in to a drawing to win a copy of my book. Your program must handle templates that have zero or more parameters and multiple lines of code. Please make sure you have tested it fully before passing it along.

Please send your implementation of this utility to me at steven.feuerstein@quest.com.

Thanks in advance!

The template text

Tags:
Categories:

1 comment(s) so far...


Re: My Favorite Templates – in one convenient file

Has this book been won yet?

By Sandra23 on   Thursday, April 10, 2008 5:57 AM
Search Blog Entries