12-27-2011
Shell variables can not be used as bind-variables directly. A bind variable is a variable of the accessing application passed to the database. The accessing application in this case is SQL*Plus and not the shell itself. You can use bind variables defined in SQL*Plus as shown in several places in this thread.
Your DBA team gives good advice about bind variables, but there is no way to prepare the statement and then pass the variables when the prepared statement is executed because the shell does not have a mechanism to do so.
Perl or phyton offer support for bind variables and do not need SQL*Plus to connect to the database.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi ,
I want to pass parameters from a shell script to a sql script and use the parameter in the sql query ..and then I want to spool a particular select query on to my unix box... for 4 different locations by writing only one sql script
Right now no file is generated on the unix box...it is a... (2 Replies)
Discussion started by: phani
2 Replies
2. UNIX for Advanced & Expert Users
Hi,
I want to input unix variable to sqlplus.The following is working fine
sqlplus username/password @dummy.sql param1 param2 << EOF
create user $1 identified by $2;
EOF
But I dont want any file name to be passed,I just want to pass the parameter. Is there any way to that??
Thanks... (3 Replies)
Discussion started by: sakthi.abdullah
3 Replies
3. Shell Programming and Scripting
hi,
I am using a shell script from where i will be conecting to sqlplus..
i am having a problem in passing a variable to sqlplus query..
i will be assigning the variable in the unix environment..whenever i am trying to pass a variable having the contents greater than 2500 characters, i am... (3 Replies)
Discussion started by: kripssmart
3 Replies
4. Shell Programming and Scripting
Hi,
I am writing a script which creates an external table using a shell script. My requirement is like this.
Usage: . ./r.ksh <table_name> - this should create an external table.
e.g . ./r.ksh abc - this should create an external table as abc_external.
How do i achieve this? Please... (5 Replies)
Discussion started by: Anaramkris
5 Replies
5. Shell Programming and Scripting
Hi there,
I am trying to call a shell script from a Perl script. here is the code:
@args = ("sh", "someshellprg.sh", "a file handler", "an array");
system(@args) == 0
or die "system @args failed: $?";
in the shell program, I examine if the arguments exits using:
if
then echo... (5 Replies)
Discussion started by: pinkgladiator
5 Replies
6. Shell Programming and Scripting
Hello All,
I am interested in finding out a way to pass parameters that are entered at the prompt from HP unix and passed to SQLPlus code with a Shell Script. Is this possible?
Thanks (4 Replies)
Discussion started by: compprog11
4 Replies
7. Shell Programming and Scripting
Hi All,
I'm new to Linux and scripting, apologies in advance for 'stupid' questions.
Please help... Im writing a script that calls a sqlplus script but the sqlplus requires inputs and i cant seem to get this to work.
here is my code.
#!/bin/sh
TERM=vt100
export TERM... (4 Replies)
Discussion started by: Mahomed
4 Replies
8. Shell Programming and Scripting
Hi ,
I am using below code :
for i in `ps -ef|grep pmon|awk {' print $8 '}|cut -f3 -d'_'|grep -v '^grep'`
do
ORACLE_SID=$i
export ORACLE_SID;
dest=`sqlplus "/ as sysdba" <<EOF
set heading off feedback on verify off
select DESTINATION from v\\$archive_dest where target in... (5 Replies)
Discussion started by: admin_db
5 Replies
9. Shell Programming and Scripting
Apologies if this is the incorrect forum.There is an issue in the function call I am facing while calling the same from a unix shell scripts.
Basically, I want the ref cursor to return values to a variable in sqlpus. The function call is currently saved in a ".txt" file
in a unix location. I want... (7 Replies)
Discussion started by: amvip
7 Replies
10. Shell Programming and Scripting
Hello,
I have file (PARFILE) with string on first line:
INCLUDE=SCHEMA:"IN\( 'SCHEMA1','SCHEMA2','SCHEMA3' \)"In .sh script I use:
....
IMPORT_SCHEMA=`awk 'NR==1{print $2}' ${PARFILE}`
...print $2 is because 'SCHEMA1','SCHEMA2','SCHEMA3' is 2nd column in file
echo "$IMPORT_SCHEMA"... (5 Replies)
Discussion started by: DjukaZg
5 Replies
LEARN ABOUT PHP
mysqli_prepare
MYSQLI_PREPARE(3) 1 MYSQLI_PREPARE(3)
mysqli::prepare - Prepare an SQL statement for execution
Object oriented style
SYNOPSIS
mysqli_stmt mysqli::prepare (string $query)
DESCRIPTION
Procedural style
mysqli_stmt mysqli_prepare (mysqli $link, string $query)
Prepares the SQL query, and returns a statement handle to be used for further operations on the statement. The query must consist of a
single SQL statement.
The parameter markers must be bound to application variables using mysqli_stmt_bind_param(3) and/or mysqli_stmt_bind_result(3) before exe-
cuting the statement or fetching rows.
PARAMETERS
o $
link -Procedural style only: A link identifier returned by mysqli_connect(3) or mysqli_init(3)
o $query
- The query, as a string.
Note
You should not add a terminating semicolon or g to the statement.
This parameter can include one or more parameter markers in the SQL statement by embedding question mark ( ?) characters at the
appropriate positions.
Note
The markers are legal only in certain places in SQL statements. For example, they are allowed in the VALUES() list of an
INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a com-
parison value.
However, they are not allowed for identifiers (such as table or column names), in the select list that names the columns to
be returned by a SELECT statement, or to specify both operands of a binary operator such as the = equal sign. The latter
restriction is necessary because it would be impossible to determine the parameter type. It's not allowed to compare marker
with NULL by ? IS NULL too. In general, parameters are legal only in Data Manipulation Language (DML) statements, and not in
Data Definition Language (DDL) statements.
RETURN VALUES
mysqli_prepare(3) returns a statement object or FALSE if an error occurred.
EXAMPLES
Example #1
mysqli::prepare example
Object oriented style
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s
", mysqli_connect_error());
exit();
}
$city = "Amersfoort";
/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
/* bind parameters for markers */
$stmt->bind_param("s", $city);
/* execute query */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($district);
/* fetch value */
$stmt->fetch();
printf("%s is in district %s
", $city, $district);
/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();
?>
Procedural style
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s
", mysqli_connect_error());
exit();
}
$city = "Amersfoort";
/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {
/* bind parameters for markers */
mysqli_stmt_bind_param($stmt, "s", $city);
/* execute query */
mysqli_stmt_execute($stmt);
/* bind result variables */
mysqli_stmt_bind_result($stmt, $district);
/* fetch value */
mysqli_stmt_fetch($stmt);
printf("%s is in district %s
", $city, $district);
/* close statement */
mysqli_stmt_close($stmt);
}
/* close connection */
mysqli_close($link);
?>
The above examples will output:
Amersfoort is in district Utrecht
SEE ALSO
mysqli_stmt_execute(3), mysqli_stmt_fetch(3), mysqli_stmt_bind_param(3), mysqli_stmt_bind_result(3), mysqli_stmt_close(3).
PHP Documentation Group MYSQLI_PREPARE(3)