How to force sql developer to prompt for user input for every execution ?
Hi Folks,
Environment: Oracle 11g (on Windows 7)
SQL Developer: *3.1.07*
I am executing a PL/SQL code off Sql Developer. The code uses substitution variables to prompt user for input. However,I am only prompted for the user input for the very first run of the code. For the subsequent executions, the code simply picks up the user input from the very first run. This behavior persists for all subsequent runs of the code.
I have executed the same piece of code from SQL*PLUS and the behavior seems normal (i.e. I am prompted for fresh input for every execution)
How can flush out the old user input so I can be prompted for new user input for every run of the code in sql developer?
Thanks in advance
rogers42
Hi Rogers42,
1/try
undefine
undefine fred
select '&&fred' from dual;
[run this multiple times]
[prompts gere]
old:select '&&fred' from dual
new:select 'a' from dual
'A'
a
[prompts here]
old:select '&&fred' from dual
new:select 'b' from dual
'B'
b
2/try
exit (requires recent version of sql developer: tools->preferences->Database->worksheet->Re-initialize on script exit command)
select '&&fred' from dual;
exit
run this multiple times
[prompts here]
old:select '&&fred' from dual
new:select 'x' from dual
'X'
x
Commit
[prompts here]
old:select '&&fred' from dual
new:select 'y' from dual
'Y'
y
Commit
3/use &fred instead of &&fred
For background see
http://totierne.blogspot.co.uk/2010/04/substitution-and-bind-variables.html
-Turloch
SQLDeveloper team
Similar Messages
-
How to install SQL Developer Data Modeler 3.1.1 for Mac OS X?
How do I install SQL Developer Data Modeler 3.1.1 for Mac OS X? I downloaded the file "datamodeler-3.1.1-703-macosx.gz" from OTN, but there is only a single file inside this archive - "datamodeler-3.1.1-703-macosx". What am I missing here?
Thanks in advance...Extract that file and then run it.
Once you installed the tool to your Applications folder (if you choose to move it to Applications), you'll need to install Java (maybe).
What version of OS X are you on?
In a command window/terminal, type 'java -version'
If you get something back like 'java version "1.6..." then you're all good.
If you're on Mountain Lion, then type 'java' instead. That should download java for you.
Once you've got java available, then launch SQL Developer Data Modeler.
The installation notes are here if you want the official list of instructions
http://www.oracle.com/technetwork/developer-tools/datamodeler/downloads/mac-installnotes-1716514.html -
How to force SQL*Loader to assign the same SYSDATE for all rows?
I want to use SQL*Loader to load some rows and a "SYSDATE" generated column, but making sure this date is THE SAME for all rows. I have seen that if I load HUNDREDS of rows there is a little difference between them (in terms of seconds). I guess it is "the moment each row entered the DB", but I need the same value for all rows (preferably, "the moment SQL*Loader was launched"). Is there any way to achieve this?
Thank you very much.Hello user2393320.
Given some thought, using a date value to identify all records from a single load isn't very wise.
Are you able to create a procedure on the database that could be executed during SQL*Loader's execution? If so, you could develop the procedure to take in the record number of the row being loaded as an input parameter and output this unique date value for all rows loaded. The procedure would need to store the date value in a table when the first row is being loaded and return the stored date value as its output. This obviously assumes that only one sqlldr session is running at any time.
I highly recommend using a numeric sequence in the control file instead of a date to identify each file load:
, file_load_seq SEQUENCE(MAX, 1)
Another approach would be to load the record number being loaded in addition to the sysdate:
, record_number RECNUM
Hope this helps,
Luke -
Require User Input for either dashboard prompts not BOTH ! !
Fellow Earthlings,
How to make required for user input for either of dashboard prompts not BOTH. !!!!!!
Like if they enter '123' on DashP1 they need not have to enter DashP2 value and vice versa on same dashboard prompt.
I have some dashboard prompts and I am using presentation variables to pass these values to my analysis.
DashP1 - Pvar1 - Default All columns - User can type in values
DashP2 - Pvar2 - Default All columns - User can type in values
In my report , I am using a SQL filter to do a table.column_name LIKE (concat('@Pvar1}{'%')) same for the other table.column_name LIKE (concat('@Pvar2}{'%')) [ This is because users want to do a partial match on the value.
So when the user is typing the values like 123 on DashP1 they are able to search, which is good. However on DashP2 which defaulted to all column values, they just erase/delete that and pass no value to it. So it remains the prompt vlaue is looking like -Select Value state which is not good. :(
Now when there report is run for that DashP1 -value as '123' obviously we get no results since erasing that is causing it not to pass any value and when i check the query log it passes '@Pvar2'. This is causing no results.
So I thought making it Required user input would resolve the issue, however the new request is to have either DashP1 or DashP2 require user input.
Please advice if there a way to solve this problem.
If this any way possible with Action links or any other methods.
Any help is greatly appreciated.
Thanks,
VidyaSHi Vidya, Please post that Script it will be quite handy for other OTN users.
Thanks
NK -
How to prompt for user input in PL/SQL
How do I prompt for user input in PL/SQL?
I am writing a piece of code where the user may choose, by clicking either of three buttons on an alert, to have the system assign a value to a variable, to input a value or to do neither?
If the user chooses to input the value I want to update a set of database fields with the value.
I have thought about showing a view where the value may be entered into a field displayed on that view. The value will be assigned to the variable by the user clicking a command button. The question I have in this case though, is whether, after the command button is clicked, control will be passed back to the code that called the view in the first place?
Edited by: desgordon on Sep 3, 2008 10:33 AMdesgordon wrote:
How do I prompt for user input in PL/SQL?
I am writing a piece of code where the user may choose, by clicking either of three buttons on an alert, to have the system assign a value to a variable, to input a value or to do neither?OK, you're doing that in Forms...
>
If the user chooses to input the value I want to update a set of database fields with the value.Write PL/SQL procedure for this purpose...
>
I have thought about showing a view where the value may be entered into a field displayed on that view. The value will be assigned to the variable by the user clicking a command button. The question I have in this case though, is whether, after the command button is clicked, control will be passed back to the code that called the view in the first place?Not clear what you mean with view?
But if you call your procedure in that button then yes 'control will be passed back to the code'...
Cheers!
Edited by: Faust on Sep 3, 2008 7:57 PM
Too slow... -
How to start SQL Developer for 11g in Oracle Enterpirze Linux
I have installed oracle 11g in Oracle Enterprize linux. Please tell me how to start sql developer there?
I think you have to install sql developer at first and then start it....
actually, I'm not so much clearly understood what is your question. -
Login to SQL Developer as the SYS user for Getting Started tutorial
I went to try and do the following tutorial to learn about SQL Developer 3.0, but I cannot get started because I'm unable to perform Prerequisite #3.
How do I "Login to SQL Developer as the SYS user"?
Dave
Getting Started with Oracle SQL Developer 3.0
Prerequisites
Before starting this tutorial, you should:
1 .
Install Oracle SQL Developer 3.0 from OTN. Follow the readme instructions here.
2 .
Install Oracle Database 11g with the Sample schema.
3.
Unlock the HR user. Login to SQL Developer as the SYS user and execute the following command:
alter user hr identified by hr account unlock;
Note: This tutorial is developed using Oracle SQL Developer 3.0.
4 .
Download and unzip the files.zip to a local folder on your file system. In this tutorial, we use the C:\sqldev3.0 folder.I installed XE. It asked me to set up a username and password during the install.
How do I login as the SYS user, though?
There is a Connection Name, Username, and Password field when I try to set up a connection in SQL Developer, and I used the username and password I made during the install. I clicked the Test button to test the connection.
I see "Status: Failure -Test failed: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER".
How do I tell SQL Developer "as SYSDBA or SYSOPER"?
Sorry, this is probably easy, and I'm just clueless about it. -
How to prompt for user input in Forms
How do I prompt for user input in Forms?
I am writing a piece of code where the user may choose, by clicking either of three buttons on an alert, to have the system assign a value to a variable, to input a value or to do neither?
If the user chooses to input the value I want to update a set of database fields with the value.
I have thought about showing a view where the value may be entered into a field displayed on that view. The value will be assigned to the variable by the user clicking a command button. The question I have in this case though, is whether, after the command button is clicked, control will be passed back to the code that called the view in the first place?Desgordon,
This can be accomplished by displaying your message to the user using an Alert. I use 3 different Alerts (Note, Caution and Stop) in my forms and they are inherited from a central source file (such as an Object Library or a Template Form) so they can be used by all of my Forms. You can set the text of the Alert using the SET_ALERT_PROPERTY() built-in and capture what button the user presses with the SHOW_ALERT() built-in. Additionally, if you need more than one button to be displayed in an alert, you use the SET_ALERT_BUTTON_PROPERTY() built-in to rename the default button or to add up to a total of three buttons in the alert. Here's an example:
DECLARE
Alert_ID ALERT;
v_AlertType VARCHAR2(10) := 'CAUTION';
v_AlertTitle VARCHAR2(25);
v_AlertText VARCHAR2(150);
n_AlertButton NUMBER;
BEGIN
v_AlertTitle := 'Title of Alert';
v_AlertText := 'This is message to the user.';
/* Code leading up to the decision point. */
alert_id := FIND_ALERT(v_AlertType);
/* Note: I only set the Label of Button 2 because the default button 1 label is 'OK' */
SET_ALERT_BUTTON_PROPERTY(v_AlertType, ALERT_BUTTON2, LABEL, 'Cancel');
SET_ALERT_PROPERTY(Alert_ID, v_AlertTitle, v_AlertText);
n_AlertButton := SHOW_ALERT(Alert_ID);
/* Now I can test the value of n_AlertButton for 1 or 2 to find out what button the user selected. */
IF ( n_AlertButton = 1 ) THEN
/* Do something, because the user selected 'OK' */
ELSE
/* It is assumed at this point that the user selected 'CANCEL' */
/* Stop processing any further. */
RAISE form_trigger_error;
END IF;
END:Hope this helps.
Craig...
-- If my response or the response of another answers your question, please mark the response accordingly. Thanks! -
How to use SQL Developer Debugger
I'm using SQL Developer Version 3.2.20.09 and want to use its debugger option. I tried to get "how to use SQL Developer Debugger" by using google.ca but didn't get any tutorial. I really appreciate if someone suggest me any good and simple tutorial regarding SQL Developer Debugger, Thanks in advance.
Hello,
you can find a tutorial here:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/devdays2012/mod2_sqldev/mod2_sqldev.html
Joop -
Force SQL Developer 1.5.4 to export data on 1 XLS workSheet
Hello.
I'm using SQL Developer 1.5.4 to export data into XLS format.
The exported file is about 40MB big.
During the export, I have noticed that SQL Developer splits the data into several worksheets, having about 64,001 rows each.
Please, is there any way I could force SQL Developer to have all of the data on a singke WorkSheet?
Thanks.I'm just guessing, but I suspect that the 64,000 row limit is so the resulting XLS file can be opened in Excel 2003 or earlier. Excel 2003 has a limit of ~65,536 (2^16) rows in a worksheet. Even if you were to export as a CSV or Text (tab-delimited) file and try loading it into Excel, it would choke and quit once the worksheet limit had been reached.
Ed. H. -
"catching" a prompt for user input and answering it through zenity?
I'm trying to write a script (or multiple scripts) that will allow me to use command-line only applications via user defined actions in my file manager without having to open a terminal. Now I realize this basic functionality is already available, but as it stands I am unable to respond to command-line prompts for user input without opening a terminal. Is it possible to write a shell script that would act as a wrapper and allow me to use zenity (or another popup program) to respond to such queries?
For example if I used a command-line program that prompted me for a password, could I "catch" that prompt with a shell script and answer it through another program, such as zenity?
Last edited by falconheart (2011-01-16 22:37:25)The easier way to do this is to collect the info with zenity first, then pass it on the command line. If the program insists on prompting, then you could try feeding it the info with redirection if it accepts it from stdin. For example
command < info.txt
where info.txt is a temp file created by your script which contains whatever you want entered into the prompts. This will work in some cases. -
How to put a little textbox in a regular applet window for user input
Hi i was just wondering if anybody knows how to draw a text box, (for user input), in a applet window and be able to put it in a specific spot, like when you draw a rectangle.
I have searched the web and have not found any answers, but i have seen projects that do this but they dont have the source code.JTextField?
-
How do you keep a VI running while waiting for user input?
I have a VI that:
1. The user enters set points.
2. The user starts the VI and the VI sends the set points to an external process via a serial interface.
3. The VI stops running.
4 The user waits for the external process to complete.
5. Repeat sequence. Go to Step 1.
This works well except for one small problem. Starting the VI in step 2 causes an external micro controller to reset. During the reset it will ignore set point commands. To get around this problem a delay has been added between when the VI opens the serial port and when the VI sends the set points to the external process Is it possible to keep a VI running continuously in this type of application, thereby eliminating the start up and shut down of the serial interface?
If yes, how do you keep a VI running while waiting for user input?
HowardThe ones for the event structure specifically. I'm posting from my phone. Look at the basic ones for user input. even a simple while loop with a boolean and a case statement would work.
-
How to make Flash to wait for user input
Hi,
I found this PHP script, then I made some changes to make it
FEED the Flash user interface with online user input.
The main concept of this script is WAITING for user input, so
it shows the messages and then go to next line and so on.
The user input go to directly to TEXT file which writes in
lines, each line has a unique id = (mag_id).
There "get_msge.php" which works as the middleware between
FLASH and messages text file.
The problem, its doesn’t show any data while there are
data in the text file.
Help here please, best regards.
This is the link of
problem illustartion
AS is:
// create an object to store the variables
varReceiver = new LoadVars();
// load the variables from the text file
varReceiver.load("get_msg.php?file_id=1&msg_id=1",
"POST");
// trigger something - when the variables finish loading
varReceiver.onLoad = function(){
//the variables have finished loading
if (this.msg_id == 1) {
_root.xmsg1_swf.text = this.msg;
_root.xmsg1_ch.text = this.msg;
gotoAndPlay("line2");
} else {WAIT }
PHP is:
<?php
//get these values from the FLASH
$file_id_swf = $_POST ['file_id'];
$file_name = "messages/messages".$file_id_swf.".txt";
$msg_id_swf = $_POST ['msg_id'];
// [0] ."||".[1] ."||".[2] ."||". [3] ."||".[4]."||". [5].
//$msg_id."||".date."||".time."||".$from."||".$to."||".$msg.
$fp = fopen ($file_name, 'rb');
while (!feof ($fp))
$msg_txt = fgets ($fp, 1024);
$line = explode ("||", $msg_txt);
$msg_id = $line[0];
$from = $line[3];
$to = $line[4];
$msg = utf8_encode ($line[5]);
if ($msg_id == $msg_id_swf)
echo
"msg_id=".$msg_id."&from=".$from."&to=".$to."&msg=".$msg;
}//while
fclose ($fp);
?>Well, given the things that you've written, I don't think it
could. There technically isn't any code in flash that lets it
"wait." In order to "wait," you must run the script over again
until some condition is met.
However, your code does look accurate. Why do you need to
wait? The onLoad function will be invoked WHEN something is loaded.
So, I don't see the reason for the "waiting."
In addition to that, I would like to say that using text
files isn't that great with flash. I have done this before and
noticed several problems with using text files. The biggest problem
is that the text files are cached after being loaded. Every time
you re-load it again, you will get what you got the first time
until you reset your cache (ie. close your browser). I suggest
using MySQL. (Just my thought.) -
Asking for user input in the middle of a function
Here's my issue.
I need to launch and input window in the middle of a function for user input. Before I can continue through the function I need a response back from the user first. Psuedo code below:
function
function begins
pop up window is launched to ask for user input
function continues after users submits input
user input from pop up window is used in function return value
Let me know if you need more clarification but this is essentially what I'm attempting to do.The way actionScript works it isn’t really designed to work that way
Is there any reason why you have to only use one function as you have written
I think you really do need to split up your code into sections that a, set up the pop-up with event listeners waiting for the input to be completed, trigger the pop up with user input, then have a handler function that then interprets the results of the user action.
Trying to force the system into a closed loop while waiting will be a bad idea.
By using a pop-up or an alert window that is set to be modal, you are effectively stopping your application doing anything else until the user input has been completed, but still not locking the app into a closed loop. Imagine what would happen if you did put the system into a closed loop, the mouse movement wouldn’t be updated, the screen wouldn’t refresh and the system wouldn’t be able to handle your user input. the reason for using async model is you are able to let the system still do all its background task (move the mouse, give inputs focus, keep the screen drawn etc) but still tell a part of your app to ‘wait for input’ before carrying on it execution of your logic
Do you come from another programming language? Maybe one that uses less of an OOP approach? I only ask, as the method you are describing is much more like how I had to program when I worked on computers years ago as an assembly programmer.
In actionscript and most other modern languages and Oss you don’t have total control of the system and cant lock it into an action as you describe.
You need to have an asynchronous approach to situations like you describe and let the system run in the back ground while you are waiting for input (or date from a server for that matter)
Please excuse me if I am telling you things you already know.
What exactly is your use case for this? Maybe if we knew exactly what you are working on I might be able to offer a solution that would make sense for your particular situation.
Hope all is going well and please feel free to contact me if you are stuck
Maybe you are looking for
-
Is there a way to disable my premium sond (eq and adio enhancement?
is there a way to disable my premium sond (eq and adio enhancement? Mine is affecting the sound at all so i'm thinking something has been disabled or something as I know I have used it before and it worked
-
CVI UI Panel updating from TestStand
I'm experimenting with using a CVI graph strip chart in TestStand(4.0). I'm new to threading in TestStand. I would like to do two simple things at first: 1.Load the CVI UI graph panel 2. Update the graph attributes. Attached is a solution that uses
-
Collective Contract Accounts | Reset Clearing Issue
Collective Accounts clearing : We have scenario where one parent CA has 2000 child accounts, now business has done reset clearing and subsequent automating clearing multiple times which has resulted in creation of thousands of reset clearing documen
-
Small Business Video Monitoring System SWVMS16 - Preset Point Deletion Issue
When using the Video Monitoring System with a PVC-300 camera, I created a Preset Point with the name "Bev and Al's Place" The apostrophe has caused issues. The preset point will not work, and now I cannot get rid of that preset point. I have tried
-
I have a late model 2009 iMac with 27" screen. I am running OS X 10.9.3 and have a 3.06 GHZ Intel core 2 Duo processor. I have 16GB of memory and the disc capacity is 1 TB. I have a frequent problem with the pointer on the screen freezing in place.