How can I write cursor which tell me no record exists
Hi Experts,
I want to know how can I write a cursor which told me no record exists before opening and running the loop.
So I want that if no record exist then I dont want to run loop and open the cursor.
Example: cursor c1 is select empno from scott.emp where empno=10
In procedure body, I want to check if there is no record against my cusor then I don't like to open it.
Thanks
Rizwan Ali Wahla wrote:
I want to know how can I write a cursor which told me no record exists before opening and running the loop.
So I want that if no record exist then I dont want to run loop and open the cursor.Not possible.
Example: cursor c1 is select empno from scott.emp where empno=10Single row? No need for an explicit cursor. No need for a loop. It can be done using an implicit cursor. E.g.
SQL> create or replace function GetEmployee( empID number ) return EMP%RowType is
2 empRow EMP%RowType;
3 begin
4 select
5 e.* into empRow
6 from emp e
7 where e.empno = empID;
8 return( empRow );
9 exception when NO_DATA_FOUND then
10 return( null );
11 end;
12 /
Function created.
SQL>
SQL> declare
2
3 procedure ProcessEmp( empID number ) is
4 empRow EMP%RowType;
5 begin
6 empRow := GetEmployee( empID );
7
8 if empRow.empno is null then
9 dbms_output.put_line( 'Employee '||empID||' does not exist.' );
10 else
11 dbms_output.put_line(
12 'Employee '||empID||' is '||empRow.ename ||
13 ' and employed as '||empRow.job
14 );
15 end if;
16 end;
17
18 begin
19 ProcessEmp( 7900 );
20 ProcessEmp( 7901 );
21 end;
22 /
Employee 7900 is JAMES and employed as CLERK
Employee 7901 does not exist.
PL/SQL procedure successfully completed.
SQL> All SQLs are cursors. Every single SQL passed to Oracle for parsing and execution is a cursor. So it does not make sense to use one SQL cursor for testing the existence of a specific row, and then another to return the row.
That kind of logic is PL/SQL logic and a single SQL cursor need to be used.
PS. Make sure that the SQL projection only includes the columns needed in PL/SQL. If the SQL is a pure exist row? check, then do not return any column and use a literal value as the projected column.
Edited by: Billy Verreynne on Feb 16, 2012 5:55 AM
Similar Messages
-
How can I write a SQL statement which checks if a table exists?
How can I write a SQL statement which tells me whether a table exists?
execute an sql query: select * from <tablename>
catch the exception n check whether the erroe code
matches the one that occurs for table doesn't exist
that's itHow is your answer any different from the one given in the first reply?
It isn't.
As WorkForFood says DatabaseMetaData has a bunch of methods for getting information about tables but this is more useful when you don't know the names of any of the tables.. it sounds like you do so I would concur SELECT from table is probably the quickest way to go. If it helps the Xopen error should be either S1000 or 42S01 (I think) but I would try and see if there is a specific vendor code for table not found/not exists error and check for that. -
i want to update my phone, but i purchased many apps and music on the phone. it won't let me authorize my computer so i cannot update. i don't want to deauthorize all my computers. how can i find out which 5 computers i have authorized? also how can i update the software?
This is a tedious solution, which is stupid! And some users report an inability to reauthorize a computer after an "en masse” deauthorization. I can’t believe Apple doesn’t provide a list or menu to find out which computers you’ve authorized! Obviously, APPLE knows (or else they couldn’t tell us how many computers we have authorized)--so why can’t they give us access to that information about our own computers??!!!
And for an already-authorized computer with a hard drive that’s since been replaced and upgraded from Mavericks to Yosemite, would it be recognized as a “new computer” and require authorization? Would its previous incarnation (i.e., with the old hard drive and OS) be considered a separate computer? Some users report they can’t authorize a computer after an OS upgrade because of that. Can’t believe we have to do such a bass-ackwards kludge! -
How can I write a program that compiles without warnings?
I tried the following with the 1.5 beta-compiler (build 28; I think):
class Y {
public static final class Pair<X,Y> {
private X fst;
private Y snd;
public Pair(X fst, Y snd) {this.fst=fst; this.snd=snd;}
public X getFirst() { return fst; }
public Y getSecond() { return snd; }
public String toString() { return "("+fst+","+snd+")"; }
public static void main(String... args) {
Pair[] pairArr = new Pair[10]; // supposed to be an array of Pair<Integer,Integer>
for (int i=0; i<pairArr.length; i++)
pairArr[i] = new Pair<Integer,Integer>(i,i);
for (int i=0; i<pairArr.length; i++) {
Pair<Integer,Integer> p = pairArr; // unchecked warning
System.out.println(p);
Integer first = p.getFirst();
Integer second = p.getSecond();
// ... more stuff ...
It turns out that I get an unchecked warning when I extract an element from the array of pairs. Okay, that's fine. How can I avoid the warning? I had expected that an explicit cast would help.
Pair<Integer,Integer> p = (Pair<Integer,Integer> )pairArr;
With a cast I'm telling the compiler: "I _know_ what I'm doing; please trust me." But the compiler still issues a warning.
How can I write a warning-free program in this case? The only thing I can think of, is not using the parameterized type Pair in its parameterized form. But it's not the idea of Java Generics that I refrain from using parameterized types. What am I missing?It turns out that I get an unchecked warning when I
extract an element from the array of pairs. Okay,
that's fine. How can I avoid the warning? I had
expected that an explicit cast would help.
Pair<Integer,Integer> p = (Pair<Integer,Integer>
)pairArr;
With a cast I'm telling the compiler: "I _know_ what
I'm doing; please trust me." But the compiler still
issues a warning. Yes, but at least you were able to change the warning from "unchecked assignment" to "unchecked cast" which is a little shorter ;-)
Seriously , since arrays of generic types are disallowed, there is probably no way to get rid of these warnings - which makes a strong point for eliminating "unchecked" warnings altogether (see the other thread "selectively suppressing compiler warnings")
Cheerio,
Gernot -
How can i write a blog in the XI forum.....
i want to write a blog....
i have created a scenario which i feel ...may be helpful for many...
how can i write that in the XI forum.....
and do my blog need to examined by some authorityHi,
Check this
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/community/gettingStartedWith+Blogs&
Regards,
Chandra -
How can we write the code for opening the command prompt and closing the
how can we write the code in java for opening the command prompt and closing the cmd prompt from eclipse (cmd prompt should close when click on the turminate button in eclipse)
rakeshsikha wrote:
how can we write the code for opening the command prompt and closing theBy typing in Eclipse (which you seemingly have)? -
How can I write mathematical formulas?
How can I write mathematical formulas?
I tried tu use the formula editor of ms word with paste and copy but it didnt work, because the formula
was not in line with the text.I was able to use Word's equation editor; just type in the formula and copy it into the Pages document.
I've heard you can do the same thing with the equation bar in Grapher utility, but I haven't tried that.
Other options involve LaTeX, which is a typesetting program. I've looked at that but haven't really explored it. -
How can i write an image to file
hi everybody,
How can i write a java.awt.Image object to a file.I want to write it to file as a jpg image.Is ther any jpegencoder which can write an Image object to file.
any tips or suggestions
Thanks in advanceThis may be only of limited use but it shows an encoder in use.
http://forum.java.sun.com//thread.jsp?forum=5&thread=140954
http://forum.java.sun.com/thread.jsp?forum=48&thread=446603&tstart=0&trange=15
rykk -
How can i write the data to PIC16F819 using labview?
how can i write the data to PIC16F819 using labview?
Need help!
im using labview in gathering the datas that i need to right to the PIC, then after getting all the datas i am using another program which is ICD2 in order to write it to the PIC. Is it possible to do this task through LV? coz we are spending a lot of time transferring the data from LV to ICD2 manually and its prone to mistake as well.
any suggestion?
thanks,
PedzLabVIEW does not currently have a built-in method to communicate with
i2c, but there are other vendors that sell devices to communicate in
this manner with LabVIEW development kits. One that I know of is
from MCC... here is a link: http://www.mcc-us.com
They sell a device called iPort, and then you can buy LabVIEW VIs to go with it. I hope this is helpful to you!
john m -
How can i write this C-Code in G-Code
hallo
how can I write this C-Code in LabVIew ,
for a=0; a=<10; a++
for b=0; b=5 ; b+2
X= 3+b;
Y=1+a;
please see the attachment and tell me where is the problem
Attachments:
Unbenannt 11.vi 43 KBWell, at least you tried and got some of it right.
I think this should do what you want, but my C is rusty. Is the increment performed before or after the loop executes? If it's after, then I believe the loop should iterate 11 times, not 10.
In any case, you should note that for a literal translation, you would need to add a sequence structure to guarantee that Y was written to only after the inner loop finished because of the way data-flow works.. Also, note that controls and indicators in LabVIEW are not equivalent to variables. They can be used as such, but they usually should not be.
Another point about this is that you probably want to use the correct data type - the orange terminals are floating point indicators (of double precision, in this case) and you want integers.
To learn more about LabVIEW, I suggest you try looking at some of these tutorials.
Try to take over the world!
Attachments:
C.png 4 KB -
How can I write a script for set left indent?
In three cases as below:
for example:
left indent:8mm; first indent:0mm
left indent:0mm; first indent:8mm
left indent:8mm; first indent:-8mm
How can I write a script to tell Indesign, wherever the text indent is, each time when I run the script once, the text can put just a step rightward, and “one step = 8mm”.
Please!Hi, Trevor
I use change by list as below:
grep {leftIndent:48mm} {leftIndent:56mm}
grep {leftIndent:40mm} {leftIndent:48mm}
grep {leftIndent:32mm} {leftIndent:40mm}
grep {leftIndent:24mm} {leftIndent:32mm}
grep {leftIndent:16mm} {leftIndent:24mm}
grep {leftIndent:8mm} {leftIndent:16mm}
grep {firstLineIndent:8mm, leftIndent:48mm} {firstLineIndent:8mm, leftIndent:56mm}
grep {firstLineIndent:8mm, leftIndent:32mm} {firstLineIndent:8mm, leftIndent:48mm}
grep {firstLineIndent:8mm, leftIndent:24mm} {firstLineIndent:8mm, leftIndent:32mm}
grep {firstLineIndent:8mm, leftIndent:16mm} {firstLineIndent:8mm, leftIndent:24mm}
grep {firstLineIndent:8mm, leftIndent:8mm} {firstLineIndent:8mm, leftIndent:16mm}
grep {firstLineIndent:-8mm, leftIndent:48mm} {firstLineIndent:-8mm, leftIndent:56mm}
grep {firstLineIndent:-8mm, leftIndent:32mm} {firstLineIndent:-8mm, leftIndent:48mm}
grep {firstLineIndent:-8mm, leftIndent:24mm} {firstLineIndent:-8mm, leftIndent:32mm}
grep {firstLineIndent:-8mm, leftIndent:16mm} {firstLineIndent:-8mm, leftIndent:24mm}
grep {firstLineIndent:-8mm, leftIndent:8mm} {firstLineIndent:-8mm, leftIndent:16mm}
but not that perfect,
I want to useing jave "if{}" or "for{}" to write this script, but I don't kown the syntext. -
How can i write properties file for Hindi font
Hi All,
i'm using jdev 11.1.1.5.0
in my use case i have worked on internationalization where i want to use hindi font
like this link -
Majid Hussain: Internationalization of ADF 11.1.1.3 Applications
as in above post majid used german language and write properties file for german language(which is using english character).
but my problem is that i want to use hindi language
so how can i write propery file which support hindi font.
ManishHi Manish,
We also had same requirement where we need to show indian local language(Hindi ,Bengali and many more ).
We had implemented following approach and perhaps it will helpful for you.
1-First we changed the encoding value in jdeveloper.
go to jdeveloper --> tools --->preference-->encoding , select to UTF8
2-We used to get the properties and it's translated value from business and then we were manually put these pair into related resource bundle.
And using this we were able to implemented multilanguage support.
Thanks
Prateek -
How Can I write a script for change first indent?
How can I write a java script to tell indesign:
what ever the text first indent is, I want to change first indent =
1) 8mm
2) 0mm
3)-8mm (if left indent is 0, change the first indent to 8mm, and then change first indent = -8)
3 scripts
Please someone help me, please!Hi hasive, thank you for your responses, thank you very much,
I need three scripts
1st script, I want to set the first indent to 8mm;
2nd script, I want to set the first indent to -8 mm, but if the left indent is 0, please set the left indent to >8mm then set the first indent to -8mm;
3rd, I want to set the first to 0mm, if the first indent is 8mm or -8mm;
thank you
Harvey -
How can i write a XML file with oracle data ?
How can i write a XML file using PL/SQL.
Can i do as follows.
1.Open a file using UTL_FILE.FOPEN(LC_DIR_LOC,'abc.xml','W') ;
2.write all the required tag and value using UTL.put_line
that is enough. Is not, please guide me to write.
gkHaving Oracle 9i.
One more doubt. In the speck, some constand values are there, When i write the same into file, How can i write ?.
1. l_str := ' "E27" '
or
2. l_str := ' E27 '
UTL_FILE.PUT_LINE(L_FILE_POI,l_str,TRUE);
1 case : in XML file : "E27"
In 2 case : E27
When we write a XML file through editors , we have to define the constant within quote . is it?
Which one can i use ? Or any other way is there ..
Thanks and Regards
gopi -
How can I write a tree report?
How can I write a tree report? If you have any document/ link can you please send that.
Regards,
SubhasishREPORT zdemo_alv_tree.
Demo program prepared for ****************
CLASS cl_gui_column_tree DEFINITION LOAD.
CLASS cl_gui_cfw DEFINITION LOAD.
DATA tree1 TYPE REF TO cl_gui_alv_tree_simple.
INCLUDE <icon>.
INCLUDE bcalv_simple_event_receiver.
DATA: gt_sflight TYPE sflight OCCURS 0, " Output-Table
gt_fieldcatalog TYPE lvc_t_fcat, " Field Catalog
gt_sort TYPE lvc_t_sort, " Sorting Table
ok_code LIKE sy-ucomm. " OK-Code
END-OF-SELECTION.
CALL SCREEN 100.
*& Form BUILD_FIELDCATALOG
This subroutine is used to build the field catalog for the ALV list
FORM build_fieldcatalog.
get fieldcatalog
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
ct_fieldcat = gt_fieldcatalog.
change fieldcatalog
DATA: ls_fieldcatalog TYPE lvc_s_fcat.
LOOP AT gt_fieldcatalog INTO ls_fieldcatalog.
CASE ls_fieldcatalog-fieldname.
WHEN 'CARRID' OR 'CONNID' OR 'FLDATE'.
ls_fieldcatalog-no_out = 'X'.
ls_fieldcatalog-key = ''.
WHEN 'PRICE' OR 'SEATSOCC' OR 'SEATSMAX' OR 'PAYMENTSUM'.
ls_fieldcatalog-do_sum = 'X'.
ENDCASE.
MODIFY gt_fieldcatalog FROM ls_fieldcatalog.
ENDLOOP.
ENDFORM. " BUILD_FIELDCATALOG
*& Form BUILD_OUTTAB
Retrieving the data from the table and filling it in the output table
of the ALV list
FORM build_outtab.
SELECT * FROM sflight INTO TABLE gt_sflight.
ENDFORM. " BUILD_OUTTAB
*& Form BUILD_SORT_TABLE
This subroutine is used to build the sort table or the sort criteria
FORM build_sort_table.
DATA ls_sort_wa TYPE lvc_s_sort.
create sort-table
ls_sort_wa-spos = 1.
ls_sort_wa-fieldname = 'CARRID'.
ls_sort_wa-up = 'X'.
ls_sort_wa-subtot = 'X'.
APPEND ls_sort_wa TO gt_sort.
ls_sort_wa-spos = 2.
ls_sort_wa-fieldname = 'CONNID'.
ls_sort_wa-up = 'X'.
ls_sort_wa-subtot = 'X'.
APPEND ls_sort_wa TO gt_sort.
ls_sort_wa-spos = 3.
ls_sort_wa-fieldname = 'FLDATE'.
ls_sort_wa-up = 'X'.
APPEND ls_sort_wa TO gt_sort.
ENDFORM. " BUILD_SORT_TABLE
*& Module PBO OUTPUT
This subroutine is used to build the ALV Tree
MODULE pbo OUTPUT.
IF tree1 IS INITIAL.
PERFORM init_tree.
ENDIF.
SET PF-STATUS 'ZSTATUS'.
ENDMODULE. " PBO OUTPUT
*& Module PAI INPUT
This subroutine is used to handle the navigation on the screen
MODULE pai INPUT.
CASE ok_code.
WHEN 'EXIT' OR 'BACK' OR 'CANC'.
PERFORM exit_program.
WHEN OTHERS.
CALL METHOD cl_gui_cfw=>dispatch.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " PAI INPUT
*& Form exit_program
free object and leave program
FORM exit_program.
CALL METHOD tree1->free.
LEAVE PROGRAM.
ENDFORM. " exit_program
*& Form register_events
Handling the events in the ALV Tree control in backend
FORM register_events.
define the events which will be passed to the backend
DATA: lt_events TYPE cntl_simple_events,
l_event TYPE cntl_simple_event.
define the events which will be passed to the backend
l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
APPEND l_event TO lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
APPEND l_event TO lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
APPEND l_event TO lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
APPEND l_event TO lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_click.
APPEND l_event TO lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
APPEND l_event TO lt_events.
CALL METHOD tree1->set_registered_events
EXPORTING
events = lt_events
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
illegal_event_combination = 3.
set Handler
DATA: l_event_receiver TYPE REF TO lcl_tree_event_receiver.
CREATE OBJECT l_event_receiver.
SET HANDLER l_event_receiver->on_add_hierarchy_node
FOR tree1.
ENDFORM. " register_events
*& Form build_header
build table for header
FORM build_comment USING
pt_list_commentary TYPE slis_t_listheader
p_logo TYPE sdydo_value.
DATA: ls_line TYPE slis_listheader.
LIST HEADING LINE: TYPE H
CLEAR ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = 'ALV TREE DEMO for ****************'.
APPEND ls_line TO pt_list_commentary.
p_logo = 'ENJOYSAP_LOGO'.
ENDFORM. "build_comment
*& Form init_tree
Building the ALV-Tree for the first time display
FORM init_tree.
PERFORM build_fieldcatalog.
PERFORM build_outtab.
PERFORM build_sort_table.
create container for alv-tree
DATA: l_tree_container_name(30) TYPE c,
l_custom_container TYPE REF TO cl_gui_custom_container.
l_tree_container_name = 'TREE1'.
CREATE OBJECT l_custom_container
EXPORTING
container_name = l_tree_container_name
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
create tree control
CREATE OBJECT tree1
EXPORTING
i_parent = l_custom_container
i_node_selection_mode =
cl_gui_column_tree=>node_sel_mode_multiple
i_item_selection = 'X'
i_no_html_header = ''
i_no_toolbar = ''
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
illegal_node_selection_mode = 5
failed = 6
illegal_column_name = 7.
create info-table for html-header
DATA: lt_list_commentary TYPE slis_t_listheader,
l_logo TYPE sdydo_value.
PERFORM build_comment USING
lt_list_commentary
l_logo.
repid for saving variants
DATA: ls_variant TYPE disvariant.
ls_variant-report = sy-repid.
register events
PERFORM register_events.
create hierarchy
CALL METHOD tree1->set_table_for_first_display
EXPORTING
it_list_commentary = lt_list_commentary
i_logo = l_logo
i_background_id = 'ALV_BACKGROUND'
i_save = 'A'
is_variant = ls_variant
CHANGING
it_sort = gt_sort
it_outtab = gt_sflight
it_fieldcatalog = gt_fieldcatalog.
expand first level
CALL METHOD tree1->expand_tree
EXPORTING
i_level = 1.
optimize column-width
CALL METHOD tree1->column_optimize
EXPORTING
i_start_column = tree1->c_hierarchy_column_name
i_end_column = tree1->c_hierarchy_column_name.
ENDFORM. " init_tree
Maybe you are looking for
-
There Is No Picture On Channel 477 & 466 Has A Bad Feed
Channel 477 soy latino tv which was mexicanal has no image at all of the programs that should be there and it is a channel that is not off the air. Right now there are colored bars from the left side to the right side of the channel where the colors
-
Implement a normal insert process in an interactive report
Hello, I want to implement a normal insert process for an interactive report. For which I have created an pl/sql anonymous block with the process. This process will be fired when I click the create button of the New record insert region. insert into
-
BOM and PM Assy Function Modules
Hi. I need to fetch some data related to BOM and PM Assembly and display in ALV, where I want to use FM, but Im not sure which FM I can use as there are many FMs when i searched in SE37, Im giving the list of required output please give me name of FM
-
Notepad Opening By Default Instead of MS Word
Dear Experts, When I try to enter text field in Ex: ME51N,ME21N notepad is opening by default instead of MS Word. When I double click on the text tab by default notepad is opening, I want MS word to open. Please let me know how to make the changes. T
-
HOw can I get my messages that I have sent or received to appear on my iPad mini as well as my phone?