#!/usr/bin/perl -w use strict; use DBI qw(:sql_types); #set up connection my ( $data_source, $database, $user_id, $password ) =qw ( MANTIS-1\\SQ +LEXPRESS lc_bugtracker_db bugadmin 1bug2admin. ); #set up column values my ( $name, $status, $enabled, $view_state, $access_min ,$file_path ) +=qw (project1 2 0 1 1 C:\\defect_tracking_project\\testproject); my $description = "this is the project description"; my $conn_string = "driver={SQL Server}; Server=$data_source; Database=$database; UID=$user_id; PWD=$password; { RaiseError => 1, AutoCommit => 0 }"; #Connect the database handle. my $dbh = DBI->connect("DBI:ODBC:$conn_string"); #SQL Insert statement and get identity value created by insert my $insertSQL = qq{ INSERT INTO mantis_project_table (name,status,enabled,view_state,access_min,file_path,description) VALU +ES(?,?,?,?,?,?,?); SELECT SCOPE_IDENTITY() }; #Prepare SQL statement for execution my $sth = $dbh->prepare($insertSQL); #Bind parms and parm sql types for insert statement $sth->bind_param( 1, $name, SQL_VARCHAR ); $sth->bind_param( 2, $status, SQL_SMALLINT ); $sth->bind_param( 3, $enabled, SQL_BIT); $sth->bind_param( 4, $view_state, SQL_SMALLINT ); $sth->bind_param( 5, $access_min, SQL_SMALLINT ); $sth->bind_param( 6, $file_path, SQL_VARCHAR ); $sth->bind_param( 7, $description, SQL_LONGVARCHAR); #execute the sql statement on the server $sth->execute(); #get the id value in a varArray to use later -- it could be null (unde +f) my @idarray = $sth->fetchrow_array(); my $id = @idarray ? $idarray[0] : undef; print "the identity column id used this time was: $id \n" ; #clean up $sth->finish(); $dbh->disconnect();
In reply to "Getting Sql server identiy column value after insert by zhirsr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |