Database Reference
In-Depth Information
12 begin
13 SELECT customer_id_seq.nextval INTO :new.id FROM dual;
14 end;
15 /
16 variable id number
17 INSERT INTO customer(name, phone) VALUES ('&name', '&phone') RETURNING id INTO
:id;
18 print id
19
20 CLEANUP
21 =======
22 drop table customer;
23 drop sequence customer_id_seq;
24
25 =cut
26
27 if ( ! defined $ARGV[0] ) {
28 printf "Usage: $0 iterations\n";
29 exit;
30 }
31
32 # declare and initialize variables
33 my ($id, $name, $phone, $sth)=(undef, "Ray", "089/4711", undef);
34
35 use File::Basename;
36 use DBI; # import DBI module
37 print "DBI Version: $DBI::VERSION\n"; # DBI version is available after use DBI
38 use strict; # variables must be declared with my before use
39 my $dbh = DBI->connect("DBI:Oracle:TEN_IPC.WORLD", "ndebes", "secret",
40 # set recommended values for attributes
41 {ora_module_name => basename($0),RaiseError=>1, PrintError=>0,AutoCommit => 0
})
42 or die "Connect failed: $DBI::errstr";
43 # DBD::Oracle version is available after connect
44 print "DBD::Oracle Version: $DBD::Oracle::VERSION\n";
45
46 # start eval block for catching exceptions thrown by statements inside the
block
47 eval {
48 # tracing facility: if environment variable SQL_TRACE_LEVEL is set,
49 # enable SQL trace at that level
50 my $trc_ident=basename($0); # remove path component from $0, if present
51 if ( defined($ENV{SQL_TRACE_LEVEL})) {
52 $dbh->do("alter session set tracefile_identifier='$trc_ident'");
53 $dbh->do("alter session set events
54 '10046 trace name context forever, level $ENV{SQL_TRACE_LEVEL}'");
55 }
Search WWH ::




Custom Search