How to use an UNIX shell variable in sql where clause
Hi ,
In my shell script first I get the Date and time from the system into the shell variable.At the end of the shell script I need to run a sql script in which I want to use the variable value in the where clause . Is there any way we can use a shell variable value in SQl script ?. Any help is greatly appriciated .
Thanks in advance,
Sampath
Try the following
In Unix
SQLPLUS <username>/<password> @MyScript.sql <UNIX_Variable>
In SQL*Plus
Reference the variable as &1
select *
from MyTable
where MyDate = to_date('&1','<date_format>');
Similar Messages
-
How could I get unix shell variable value?
I want to get a unix shell variable value because I will use it in my java program. For example $HOME, I have wrote like below,
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("echo $HOME");
But I could not get $HOME value, just get "$HOME" as result.
Why could not I get the value?Other than passing them as params to your program, the only way to read them runtime is either pipe them thru a stream or use JNI.
-
I need to write some code (i was told its only like 5 lines) that reads the value of a Unix Shell Variable. I searched the forums and found only 1 post on this subject:
http://forum.java.sun.com/thread.jsp?forum=31&thread=397213
I'm not sure if this is what i want to do however. my bosses co-worker, told me that i will need to use "System.properties" (i know there is no method System.properites but that is what he said) I looked into System.getProperites, and it just didn't make sence to me why i would be needing anything related to "System.properties". any suggestions on how to do this? (is it really only like 5 lines of code or is it much more complicated than that)
NickI did a google and found this immediately:
http://www.javaworld.com/javaworld/javaqa/2001-07/01-qa-0706-env.html
Google is your friend.
It also returned a page expanding on the suggestion at the end of that article (using env), but rather than writing it to a file, using Runtime.exec to get an input stream and then sending that to java.util.Properties,
which isn't a portable solution but doesn't require changing the invocation of the JVM. -
Schedule workbook using with Unix shell script
Hi,
Can we schedule workbook using with Unix shell script?
Thanks,
JayI can't imagine how.
1. You can schedule Disco workbooks via Disco itself.
2. You can schedule Disco workbooks to run and output in different file formats automatically via batch scheduler in Windows running Disco Desktop directly (or can user VBasic).
3. You can schedule Disco workbooks to run and output in different file formats automatically via a Java program running the Java Command Line interface.
Moving forward, Oracle has announced that with a further interfacing of Disco with XML Publisher, you'll be able to use Oracle Apps concurrent manager and scheduling. But that's coming supposedly at the end of this year.
And I think that's about it.
Russ -
Trying to use parameter variable as column identifier in SQL where clause
Hey guys,
Doing a college project... would really appreciate some help. I am trying to use a variable in the where clause of a select cursor in PL/SQL. The code is this:
procedure results(p_search_entry varchar2, p_search_field varchar2) is
cursor c_results is
select * from physics_b where p_search_field = p_search_entry;
begin
for cv_results in c_results
loop
-- loop through actions
end loop;
The problem is that I don't know how to get the where clause to accept the variable passed into the procedure as the field name. Does anyone know the syntax for this?
Thanks very much!To suit your requirement use ref cursor..
If your database is 9i and upwards you can use sys_refcursor as I have used or else you can declare the cursor shown in the statement below
type c_result is ref cursor;
c_results c_result;
Jus replace these two statement in the example if your oracle database is prior to 9i
Eg:
procedure results(p_search_entry varchar2, p_search_field varchar2) is
qry_stmt VARCHAR2(1000) ;
c_results sys_refcursor;
begin
qry_stmt := 'select * from physics_b where '||p_search_field|| '='|| p_search_entry
open c_results for qry_stmt
loop
<fetch as like normal cursor>
<ur normal cursor operation etc....>
end loop;
end results;
Sorry I posted twice
Message was edited by:
Shasi -
How to use a Sybase table in Oracle SQL statement?
How to use a Sybase table in Oracle SQL statement?
Sybase version : 11.9.2.4
Oracle version : 10.2.05
Thanks.user12088323 wrote:
How to use a Sybase table in Oracle SQL statement?
Sybase version : 11.9.2.4
Oracle version : 10.2.05
Thanks.Any Oracle client connected to the Oracle database can access Sybase data through the <font style="background-color: #FFFFCC">Database Gateway for Sybase</font> (it requires an additional license) or the <font style="background-color: #FFFFCC">Database gateway for ODBC</font> (it's free).
The Oracle client and the Oracle database can reside on different machines. The gateway accepts connections only from the Oracle database.
A connection to the gateway is established through a database link when it is first used in an Oracle session. In this context, a connection refers to the connection between the Oracle database and the gateway. The connection remains established until the Oracle session ends. Another session or user can access the same database link and get a distinct connection to the gateway and Sybase database.
Database links are active for the duration of a gateway session. If you want to close a database link during a session, you can do so with the ALTER SESSION statement.
To access the Sybase server, you must create a <font style="background-color: #FFFFCC">database link</font>. A public database link is the most common of database links.
SQL> CREATE PUBLIC DATABASE LINK dblink CONNECT TO
2 "user" IDENTIFIED BY "password" USING 'tns_name_entry';
--dblink is the complete database link name.
--tns_name_entry specifies the Oracle Net connect descriptor specified in the tnsnames.ora file that identifies the gatewayAfter the database link is created you can verify the connection to the Sybase database, as follows:
SQL> SELECT * FROM DUAL@dblink;
Configuring Oracle Database Gateway for Sybase
<font style="background-color: #FFFFCC">{message:id=10649126}</font> -
NVL with host variables in a where clause
Does anyone know if using a host variable in a WHERE clause with
the NVL function will actually work if the host variable is null
without using the indicator variable too?
In other words if the variable ":new_prmy_numb" which was
selected previously is actually null, will the NVL know that it
is null without the indicator variable being listed also? The
person at our company who has this in their code says it works
and the rest of us don't see how.
Example:
SELECT recd_a_id from ADDR
WHERE
NVL(prmy_numb,' ') = NVL(:new_prmy_numb,' ')well firstly have you tried it to see if it works? That would seems to be a rather obvious step, I would imagine.
Anyway, I don't see anything wrong with the code, except that it might be optimized better ...
SELECT recd_a_id from ADDR
WHERE
(prmy_numb = :new_prmy_numb
or (:new_prmy_numb is null and prmy_numb is null))
... might stand more chance of using an index on the column prmy_numb -
The issue with using the multiple columns sub-query in WHERE clause
Hi All,
my database version is 10.2.
the problem i am trying to deal with is that when I use multiple column sub-query in the WHERE clause of the SELECT statement, the actual row number returned from the sub-query is different from the whole statement.
And what I found is that, whenever there is NULL in any of those columns returned from the SUB-QUERY, the outer query will just return NULL for that whole row.
Here is an example:
select empno, ename, job, mgr, hiredate, sal, deptno from EMP
intersect
select empno, ename, job, mgr, hiredate, sal, deptno from t;
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7839 KING PRESIDENT NULL 17-NOV-81 5000 10
7934 MILLER CLERK 7782 23-JAN-82 1300 10
select * from EMP where (EMPNO, ENAME, job, MGR, HIREDATE, SAL, DEPTNO) in (
select empno, ename, job, mgr, hiredate, sal, deptno from EMP
intersect
select empno, ename, job, mgr, hiredate, sal, deptno from t);
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7934 MILLER CLERK 7782 23-JAN-82 1300 10 If I specifically deal with the NULL situations for the columns which might return NULL, I can get the result right.
select * from EMP where (EMPNO, ENAME, job, NVL(MGR,-1), HIREDATE, SAL, DEPTNO) in (
select empno, ename, job, nvl(mgr,-1), hiredate, sal, deptno from EMP
intersect
select empno, ename, job, nvl(mgr,-1), hiredate, sal, deptno from t);
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7839 KING PRESIDENT null 17-NOV-81 5000 10
7934 MILLER CLERK 7782 23-JAN-82 1300 10 the problem is that, I feel this is a very lame way of handling it.
So, I wonder or am asking if there is any better or standard way to do it?
any help would be highly appreciated.
ThanksHi,
As you discovered, INTERSECT treats NULL as a value, but IN does not.
What you did with NVL is one way to handle the situation. If there was a chance that any of the columns could be NULL, then you might prefer something like this:
select *
from EMP
where ( EMPNO || '~' ||
ENAME || '~' ||
job || '~' ||
MGR || '~' ||
TO_CHAR (HIREDATE, 'DD-MON-YYYY HH24:MI:SS')
|| '~' ||
SAL || '~' ||
DEPTNO
) in (
select EMPNO || '~' ||
ENAME || '~' ||
job || '~' ||
MGR || '~' ||
TO_CHAR (HIREDATE, 'DD-MON-YYYY HH24:MI:SS')
|| '~' ||
SAL || '~' ||
DEPTNO
from emp
intersect
select EMPNO || '~' ||
ENAME || '~' ||
job || '~' ||
MGR || '~' ||
TO_CHAR (HIREDATE, 'DD-MON-YYYY HH24:MI:SS')
|| '~' ||
SAL || '~' ||
DEPTNO
from t
);This assumes that you can identify some string (I used '~') that never occurs in the strings in these tables.
This is implicitly converting the NUMBERs. That's usually not a good thing to do. but explicitly converting them would make this even more tedious.
You should explicitly convert any DATEs to strings, however. Depending on your default format, and your data, you might get away with implicit conversions even for DATEs, but don't bet on it.
If you had to do this often, you might consider writing a user-defined function:
delimited_string (empno, ename, job, mgr, hiredate, sal, deptno) would return a string like
'7839~KING~PRESIDENT~~17-NOV-1981~5000~10'
This will make the coding easier, but beware: it will make the execution slower. -
How do I use a UNIX environment variable for the path of a file name
We are running Forms 6i over the web. The forms server runs on a UNIX (HP-UX) machine.
I want to read the contents of a file, which is simple enough, using the TEXT_IO package. However, I want to reference a UNIX environment variable that specifies the file path i.e
PROCEDURE get_file IS
in_file Text_IO.File_Type;
linebuf VARCHAR2(1800);
filename VARCHAR2(200);
BEGIN
filename:= '$LOG_DIR/RCAS181.log';
in_file := Text_IO.Fopen(filename, 'r');
.....other stuff
Notice the filename string references my unix env variable '$LOG_DIR'. However, this doesnt work. If I put the full pathname it works fine.
Any suggestions ?Have a look at TOOL_ENV.GETVAR()
-
Hi,
I'm trying to generate and read XML file on Unix using oracle XML parser and class generator.
The i/p and o/p directories are defined by UNIX shell environment variable e.g. $XYZ
Our $XYZ variable values changes as my programs move from development, quality and production machines.
How can I trap this variable via Java? I know I can pass these values as argument to my program, but is there a way to actually access these variable at runtime? I have looked at System and Runtime classes with no luck.
I know this is more of Java question than XML, but I'm new to both. Any help will be appreciated.
Regards.If you invoke the JVM with something like
java -Dsome.property=$XYZ mainClassYou can do this in your code:
String value = System.getProperty("some.property");to retrieve its value at runtime. -
How to get the Unix shell promp in OS X
How do I get the Unix shell prompt or its equivalent in OS X?
Still could not find it. I install the package:
mysql-5.5.2-m2-osx10.6-x86
Here is what the read me file says:
2.4.10 Installing MySQL on Mac OS X
You can install MySQL on Mac OS X 10.3.x (`Panther') or newer using a
Mac OS X binary package in PKG format instead of the binary tarball
distribution. Please note that older versions of Mac OS X (for example,
10.1.x or 10.2.x) are not supported by this package. -
How to use an BPM Instance Variable in JSP page
Hi All,
I am using the JSP Presentation, but i don't know how to use an Instance variable in JSP page, that instance already declared in the process. And Can u explain the syntax that to include the JS file into jsp page
Regards
Vasu.
Edited by bpmvasu at 04/03/2007 10:43 PMHi Mariano,
I'm using JSP presentation too. In "Interactive Component Call" active i'm using "Use JSP presentation", but i only can define one instance variable, i need to add more instance variables. In "Advanced" option of this task, i have the argument mapping .. but i don't understand how to use it.
I have a instance variable called "genders" of the type String[Int] (Associative Array) and i'm mapping this instance variable in "Arguments Show In" option of the advanced option of JSP presentation. In JSP presentation i have the code:
<select <f:fieldName att="person.gender"/>>
<c:forEach var="gender" begin="0" items="${genders}" varStatus="status">
<c:choose>
<c:when test="${person.gender == gender}">
<option value="<c:out value="${gender}"/>" selected="true"><c:out value="${gender}"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${gender}"/>"><c:out value="${gender}"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>And in my screenflow i have the code:
genders[0] = "Male"
genders[1] = "Female"But when i run my application, i have the error: "The task could not be successfully executed. Reason: 'java.lang.ClassCastException: java.lang.Integer'."
What's the problem? -
How to use a lexical variable in a WHERE clause and as a function argument.
Hello,
My report has a lexical variable which has values like 'and id in (1,3,4)'. I want to use this variable in two separate queries. In the first, it is used in the WHERE clause, something like:
.. where date is not null &var;
In the second query, the variable is used in a function call, something like:
select * from table (my_function(&var));
The trouble is that the first query works when the value of the variable is unquoted, but for the second query the value should be quoted.
Does anyone have an idea how I could solve this problem?
Thanks in advance,
Frans
Message was edited by:
fransiehttp://tkyte.blogspot.com/2006/06/varying-in-lists.html
Presents many options. -
How to make use of the presentation variable in SQL result query
I have 2 prompts in my dashboard.
Prompt1 decides the values of Prompt2.
I have set a presentation Variable (selected_comp) in prompt1 which holds the value selected.
To populate the values for Prompt2, I need to execute a query using the presenation variable set by Prompt1.
SELECT "List Of Values".RID from rocketv2_3 WHERE "List Of Values".NAME='COMPONENT' AND "List Of Values".VAL=@{selected_comp}
the query is resulting into
SQL Issued: SELECT "List Of Values".RID from rocketv2_3 WHERE "List Of Values".NAME='COMPONENT' AND "List Of Values".VAL=0
but the value in selected_comp is "ABC".
Can anybody help in how to make use of the presentation variable in query to get the correct value
thanks
ShubhaJust use constrain check box to filter your 2nd prompt values based on the 1st prompt.
Thanks,
Venkat
http://oraclebizint.wordpress.com -
How to use wild card with variable in powershell
HI
i am trying to use wild card with variable but getting an error message, "You cannot call a method on a null-valued expression."
$src = 'C:\Temp'
$TabletzipPath = $src + "tab*.zip"
i would like to copy the tablet zip file which is placed in in $src to be copied in $TabletzipPath.
i am using tab* because this file name changes continuously. so if i give a fix name for example tablet1.zip than it works fine.Not sure if the wildcard will work without seeing how you're using the variable.
That said, I can say that it looks like you're missing the backslash between the $src path and the wildcard filename. As-is the above code assigns a value to $TabletzipPath of "C:\temptab*.zip" instead of what you are likely expecting ("C:\temp\tab*.zip")
Jason Warren
@jaspnwarren
jasonwarren.ca
habaneroconsulting.com/Insights
Maybe you are looking for
-
Camera no longer working on iPad air
Hi everyone I switched my ipad air on and for some reason the camera doesn't appear to be working ? When i open the camera app there is just a black screen. It allows me to swipe from video to photo, but nothing happens and i cannot press the picture
-
"java.lang.NullPointerException" when use doFinal(byte[])
My code here: KeyFactory kf = null; Cipher cipher = null; PrivateKey pk = null; byte[] symKey = null; try { Security.addProvider(new BouncyCastleProvider()); catch (Exception e) { System.err.println("Error loading security provider (" + e.getMessage(
-
Hi Freinds, When I am creating a PO with account assignement A. WBS element not displaying in PO. What is the Config required to display the WBS element in PO. Pls help Thanks, Satya
-
<p>Hi, </p><p> I am trying to convert Year ending Quarter into MDXequivalent. These are the formulae which has to be converted intoMDX.</p><p> </p><p>YEQ1 = Qtr1 + @MDSHIFT(QTR2, -1, YEARS) + @MDSHIFT(QTR3, -1,YEARS) + @MDSHIFT(QTR4, -1, YEARS)</p>
-
Error while reading Static content
can anybody help me understand the reason behind the following error and the way to its resolution? org.w3c.www.protocol.http.HttpException: The host name couldn't be resolved Thanks, Atul