Checking for every record in a table using PL/SQL

Hello Gurus,
I would need your help in finding the best approach to tackle the below analysis using PL/SQL.
I have a table which contains two columns
UserID and Month
I want to find out the users who made orders every month for the first half of 2012.That is the User ordered on Jan 2012, Feb2012 ... and June 2012.
The Table is huge and has more than a million records. How do I approach this in PL/SQL.
Joe

Hi Justin,
Thanks for the quick response. This is helpful.However my Intention is to do it using PL/SQL for learning purposes. I am new to PLSQL.
I wanted to do something like looping through each records in the table for every user ID and If I find orders for six consecutive months for a particular user, I will insert the user id to a temp table.
Any hints on how can I use this? I heard about cursor. Can I use it. If so how should I approach.
--Joe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • How to call webservice for each record in a table using ODI

    Hi
    I am new to ODI and Webservice. I want to invoke a scenario in ODI using web service. I hava a weblogic application server with axis 2 deployed.
    But I want call webservice for each record in a table
    For eg: "EMP" table have 50 records, for each record web service should invoke
    Can any one help me on it.
    Thanks,
    phani
    Edited by: user12774166 on Jun 6, 2010 11:16 PM

    If your goal is "call" a web service, Jason's Straub's [flex-ws-api|https://flex-ws-api.samplecode.oracle.com/] is by far the best I've seen. You might want read more about it on [his blog|http://jastraub.blogspot.com/search?q=+flex_ws_api+].
    Tyler Muth
    http://tylermuth.wordpress.com
    [Applied Oracle Security: Developing Secure Database and Middleware Environments|http://sn.im/aos.book]

  • How  to fire a query for every record in a table, pass values in a loop

    Hi,
    For each record in a table, I want to loop through each record and then fire a query by passing acct, product and date from this table to the where clause of the query. I would have to create a pl/sql block..The output of the query I want to spool from sql developer.
    I need the exact syntax please for doing this.. since i am new to Oracle. Just the template will be enough. I will fill in the query.
    Any help is appreciated as always..
    Regards,
    hena

    904385 wrote:
    Hi,
    For each record in a table, I want to loop through each record and then fire a query by passing acct, product and date from this table to the where clause of the query. I would have to create a pl/sql block..The output of the query I want to spool from sql developer.
    I need the exact syntax please for doing this.. since i am new to Oracle. Just the template will be enough. I will fill in the query.
    Any help is appreciated as always..
    Regards,
    henaHave you ever considered using a JOIN ? It does the same thing as looping through a table and applying that to the where clause of a select on a query, only much, much, much faster and without the need to write any code. SQL is a declarative language, so you specify what you want and not how to do it. It can be bit of a journey to change your thought process if you come from a procedural or object world, but once you get there it's a beautiful view.

  • Number for every record that is retrieved from (query)

    Hello
    I wish to put a number for every record that is retrieved
    from the record that is output by this query
    For example
    For the first recored/row
    Generated number, ksnumber, date
    1, gg111 11/05/05
    2, oo235 12/06/05
    the query returned 2 records 1 and 2 are the number that is
    generated with this code.
    In addition if there is a built in function, where in the
    code do I put it???
    <cfquery name="gelov datasource="kl90">
    SELECT
    FROM
    WHERE
    ORDER BY
    <cfswitch expression="#Form.orderBy#">
    <cfks value="KSNUMBER">
    KS.KS_NBR
    </cfks>
    <cfks value="CREATIONDATE">
    KS.KREATDAT
    </cfks>
    </cfswitch>
    </cfquery>
    <!---html report--->
    <cfswitch expression="#Form.outputFormat#">
    <cfks value="HTML">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=iso-8859-1" />
    <title>Ctwye Kss Report</title>
    </head>
    <style type="text/css">
    table{
    font-family:Arial, Helvetica, sans-serif;
    font-size:10px;
    td{
    font-family:Arial, Helvetica, sans-serif;
    font-size:10px;
    th{
    font-family:Arial, Helvetica, sans-serif;
    font-size:10px;
    h2{
    font-family:Arial, Helvetica, sans-serif;
    font-size:12px;
    h3{
    font-family:Arial, Helvetica, sans-serif;
    font-size:13px;
    </style>
    <body>
    <cfoutput>
    <table border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td align="center">
    <h3>Ctwye Kss
    Report</h3><br><br></td>
    </tr>
    <tr>
    <td align="center">
    </h2>report returned #getCtwyeKss.RecordCount#
    records</h2></td>
    </tr>
    <tr>
    <td>
    <table border="1" cellpadding="2" cellspacing="0">
    <tr>
    <td width="160">Ks Number</td>
    <td>Creation Date</td>
    <!--- <td class="dataField">Address</td>
    <td class="dataField">Type</td>
    <td class="dataField">Description</td>--->
    </tr>
    <cfloop query="getCtwyeKss">
    <tr bgcolor="<cfif currentrow mod
    2>GHOSTWHITE<cfelse>WHITE</cfif>">
    <td>#KS_NBR#</td>
    <td>#dateformat(KREATDAT,"mm/dd/yyyy")#</td>
    </tr>
    </cfloop>
    </table>
    </td>
    </tr>
    </table>
    </BODY>
    </HTML>
    </cfoutput>
    </cfks>
    <cfks value="CSV">
    <CFHEADER NAME="Content-Disposition" VALUE="attachment;
    filename=ctwye.csv">
    <cfcontent type="application/msexcel">"Ks
    Number","Creation Date"
    <cfoutput
    query="getCtwyeKss">#ltrim(KS_NBR)#,"#dateformat(KREATDAT,"mm/dd/yyyy")#"
    <tr #IIF(getCtwyeKss.CurrentRow MOD
    2,DE(''),DE('backgroundColor="##999"'))#>
    <!---<tr bgcolor="<cfif currentrow mod
    2>##808080<cfelse>##ffffff</cfif>"> --->
    </cfoutput>
    </cfks>
    </cfswitch>

    <cfks> is not a Coldfusion tag. Use <cfcase>
    instead.
    The following code will print the row numbers
    <cfquery name="gelov" datasource="kl90">
    select ksnumber, date
    from yourTable
    </cfquery>
    <cfoutput query="gelov">
    #currentrow#, #ksnumber#, #date#<br>
    </cfoutput>

  • Check for duplicate record in SQL database before doing INSERT

    Hey guys,
           This is part powershell app doing a SQL insert. BUt my question really relates to the SQL insert. I need to do a check of the database PRIOR to doing the insert to check for duplicate records and if it exists then that record needs
    to be overwritten. I'm not sure how to accomplish this task. My back end is a SQL 2000 Server. I'm piping the data into my insert statement from a powershell FileSystemWatcher app. In my scenario here if the file dumped into a directory starts with I it gets
    written to a SQL database otherwise it gets written to an Access Table. I know silly, but thats the environment im in. haha.
    Any help is appreciated.
    Thanks in Advance
    Rich T.
    #### DEFINE WATCH FOLDERS AND DEFAULT FILE EXTENSION TO WATCH FOR ####
                $cofa_folder = '\\cpsfs001\Data_pvs\TestCofA'
                $bulk_folder = '\\cpsfs001\PVS\Subsidiary\Nolwood\McWood\POD'
                $filter = '*.tif'
                $cofa = New-Object IO.FileSystemWatcher $cofa_folder, $filter -Property @{ IncludeSubdirectories = $false; EnableRaisingEvents= $true; NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite' }
                $bulk = New-Object IO.FileSystemWatcher $bulk_folder, $filter -Property @{ IncludeSubdirectories = $false; EnableRaisingEvents= $true; NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite' }
    #### CERTIFICATE OF ANALYSIS AND PACKAGE SHIPPER PROCESSING ####
                Register-ObjectEvent $cofa Created -SourceIdentifier COFA/PACKAGE -Action {
           $name = $Event.SourceEventArgs.Name
           $changeType = $Event.SourceEventArgs.ChangeType
           $timeStamp = $Event.TimeGenerated
    #### CERTIFICATE OF ANALYSIS PROCESS BEGINS ####
                $test=$name.StartsWith("I")
         if ($test -eq $true) {
                $pos = $name.IndexOf(".")
           $left=$name.substring(0,$pos)
           $pos = $left.IndexOf("L")
           $tempItem=$left.substring(0,$pos)
           $lot = $left.Substring($pos + 1)
           $item=$tempItem.Substring(1)
                Write-Host "in_item_key $item in_lot_key $lot imgfilename $name in_cofa_crtdt $timestamp"  -fore green
                Out-File -FilePath c:\OutputLogs\CofA.csv -Append -InputObject "in_item_key $item in_lot_key $lot imgfilename $name in_cofa_crtdt $timestamp"
                start-sleep -s 5
                $conn = New-Object System.Data.SqlClient.SqlConnection("Data Source=PVSNTDB33; Initial Catalog=adagecopy_daily; Integrated Security=TRUE")
                $conn.Open()
                $insert_stmt = "INSERT INTO in_cofa_pvs (in_item_key, in_lot_key, imgfileName, in_cofa_crtdt) VALUES ('$item','$lot','$name','$timestamp')"
                $cmd = $conn.CreateCommand()
                $cmd.CommandText = $insert_stmt
                $cmd.ExecuteNonQuery()
                $conn.Close()
    #### PACKAGE SHIPPER PROCESS BEGINS ####
              elseif ($test -eq $false) {
                $pos = $name.IndexOf(".")
           $left=$name.substring(0,$pos)
           $pos = $left.IndexOf("O")
           $tempItem=$left.substring(0,$pos)
           $order = $left.Substring($pos + 1)
           $shipid=$tempItem.Substring(1)
                Write-Host "so_hdr_key $order so_ship_key $shipid imgfilename $name in_cofa_crtdt $timestamp"  -fore green
                Out-File -FilePath c:\OutputLogs\PackageShipper.csv -Append -InputObject "so_hdr_key $order so_ship_key $shipid imgfilename $name in_cofa_crtdt $timestamp"
    Rich Thompson

    Hi
    Since SQL Server 2000 has been out of support, I recommend you to upgrade the SQL Server 2000 to a higher version, such as SQL Server 2005 or SQL Server 2008.
    According to your description, you can try the following methods to check duplicate record in SQL Server.
    1. You can use
    RAISERROR to check the duplicate record, if exists then RAISERROR unless insert accordingly, code block is given below:
    IF EXISTS (SELECT 1 FROM TableName AS t
    WHERE t.Column1 = @ Column1
    AND t.Column2 = @ Column2)
    BEGIN
    RAISERROR(‘Duplicate records’,18,1)
    END
    ELSE
    BEGIN
    INSERT INTO TableName (Column1, Column2, Column3)
    SELECT @ Column1, @ Column2, @ Column3
    END
    2. Also you can create UNIQUE INDEX or UNIQUE CONSTRAINT on the column of a table, when you try to INSERT a value that conflicts with the INDEX/CONSTRAINT, an exception will be thrown. 
    Add the unique index:
    CREATE UNIQUE INDEX Unique_Index_name ON TableName(ColumnName)
    Add the unique constraint:
    ALTER TABLE TableName
    ADD CONSTRAINT Unique_Contraint_Name
    UNIQUE (ColumnName)
    Thanks
    Lydia Zhang

  • Acces to data of every field in a table using a loop

    Hello:
    I have the next code:
    // Calling remote function
    proxy.Z_Hrpfpa00105("XX", "45", out sts, ref tIVAEmp);
    foreach (ZHRRESNOM row in tIVAEmp)
      { Console.WriteLine("{0} …", row.Desc2, row.Betrg, …); }
    Assuming that tIVAEmp has 100 fields I need to build some loops during Console.WriteLine process, so I asked for your help for one part of the solution:
    // Getting the field names and lengths of an RFC Table
    Type structureType = tIVAEmp.GetElementType();
    SAPField[] fields = SAPStructure.GetSAPFieldsSchema(structureType);
    // Verifying
    foreach (SAPField row in fields)
        Console.WriteLine(" - ", row.FieldName,  row.FieldLength);
    It worked, but now I can´t find the connection between SAPField and the content of every RFC Table field for every record,  my mind is in blank and a I need  help … how can I do in C# something similar to:
    foreach (ZHRRESNOM row in tIVAEmp)
    +// The next is pseudo-code
       for every field F in fields
         { stri += contents of row, column F }
       Console.WriteLine(“”, stri);+</i></i>
    Thanks again

    E.g
    proxy.Z_Hrpfpa00105("XX", "45", out sts, ref tIVAEmp);
    Type structureType = tIVAEmp.GetElementType();
    SAPField[] fields = SAPStructure.GetSAPFieldsSchema(structureType);
    foreach (ZHRRESNOM row in tIVAEmp)
      foreach (SAPField field in fields)
        Console.WriteLine("{0}: {1}", field .FieldName, row[field.FieldName]);
    Accessing fields by name may be a little bit slow. Alternatively you can access it by index, which is faster:
      for (int i=0; i<fields.Length; i++)
        Console.WriteLine("{0}: {1}", fields<i>.FieldName, row<i>);

  • Abort inserting a record in a table using a trigger

    Hi there,
    Is there any way to abort inserting a record in a table using a trigger?
    For full details, I have the following table ("myTable"):
    BSC INTEGER NOT NULL,
    BTS VARCHAR2(20) NOT NULL,
    INFO1 INTEGER,
    INFO2 INTEGER
    myTable_PK = PRIMARY KEY (BSC,BTS)
    I have also a stored procedure that imports a data from text file and inserts them to the specified table (using UTL_FILE package). The stored procedure works great.
    But the thing that in the text file itselft it might be (due to third-parity report generation bug) that the primary key will be violated or the BSC/BTS field has null value. In such case I just want to ignore the insertion statement using a trigger.
    Thanks

    Ok Jens, could you tell me what exception could I use?
    Below a protion of my StoredProcedure.
    CREATE OR REPLACE PROCEDURE update_myTable() IS
    FHANDLE UTL_FILE.FILE_TYPE;
    BSC INTEGER;
    BTS VARCHAR2(20);
    INFO1 INTEGER;
    INFO2 INTEGER;
    BEGIN
    FHANDLE := UTL_FILE.FOPEN('LOG_FILE_DIR',FILENAME,'R',4000);
    LOOP
    UTL_FILE.GET_LINE(FHANDLE,STR);
    -- Process the line STR and generates BSC, BTS, INFO1, and INFO2 values
    EXECUTE IMMEDIATE 'INSERT INTO myTable VALUES(:1,:2,:3,:4)' USING BSC,BTS,INFO1,INFO2;
    END LOOP;
    EXCEPTION WHEN NO_DATA_FOUND THEN UTL_FILE.FCLOSE(FHANDLE);
    END UPDATE_R205BTS;
    Remember that I am already using an exception with NO_DATA_FOUND to indicate the end of file then closing it.
    Thanks for your reply

  • Access 2010 Chart - Report returns an identical chart for every record in the underyling query

    Hi there, I hope someone can help me with this. I've created a stacked column chart in a Report. The chart seems to be working fine but my report is returning a chart for every record in the source query.  The chart adds up the days each vehicle in
    a fleet was used in a given time frame.  I'm not a code writer so wizarded my way to the following:
    TRANSFORM Sum(QVehicleDaysUsed.[DaysOfUseThisMonth]) AS SumOfDaysOfUseThisMonth SELECT QVehicleDaysUsed.[YearMakeModelPlate] FROM QVehicleDaysUsed GROUP BY QVehicleDaysUsed.[YearMakeModelPlate] PIVOT QVehicleDaysUsed.VehicleUseForMonthStarting;
    The chart seems to be producing exactly what I want but it's repeated once for every record in the source query. I don't know if this is the issue but I don't have a Master/Child field linking the chart to the report it's in - chart is unbound and therefore
    won't allow me to link fields. I'd sure appreciate any help you can offer! Thanks!
    (Incidentally VehicleUseForMonthStarting is a date field - ideally it should be shown as a DatePart MMMM but for whatever reason Access is balking at the Format expression.)
    Thanks!

    GOT IT! Hurray.  Obvious after giving it more thought... I had to make the report the chart was in Unbound. :) Leaving post up in case it helps someone else out.

  • To genrate individual file for every record.

    Hi Experts,
    I am receiving a message with multiple records. I need to generate individual files for every record.
    How can it be done?
    Thanks
    Karthik

    Bhatia,
    FCC is file content conversion. If your sender communication channel is file and the file is any fixed length or with any separator then you can use this option in your file sender communication channel.
    Regards,
    ---Satish

  • Getting message for every  record while pressing the down arrow

    Hi,
    when i query the form and when I am going through the records by pressing the down arrow of the keyboard I am getting the message 'Do you want to Save the records' for every record.
    How to avoid the message?
    I developed the form in oracle applications and it is a master detail form which have a header block and lines block.

    You are probably changing a value in POST-QUERY trigger, check your trigger and make sure you're not updating any values.
    For Oracle Apps specific questions, I suggest you post in the E Business Suite section of the Forums.
    Tony

  • Radio button for every row in a table

    Can anyone tell me how to get abutton for every row of a table.This button is used for selecting taht particular row.
    Thanks in advance

    Create a table region in Jdev. Then right click on it New--> Choose Single Selection.
    Thanks
    --Anil                                                                                                                                                                                                               

  • Authorization level check for Condition records.

    Hi,
    Hi Gurus,
    Pls help me out in the the following scenario.
    I want to activate Authorization level check for Condition records.
    For example, Product price PR00 is being entered by first level.
    After verification done by second level only, that condition record to be used for sales order processing.
    I have gone through Process status & Release Status. But once it is Blocked  i am not able to release it...
    Rgds,
    Amol

    Amol,
    Please confirm transaction code you are using in this scenario to release. I can help with this, just a little more detail.
    Thanks,
    Jay

  • How to popup editor for every record?

    hi
    i want to popup the editor for every record changed .
    It is a mutli record block.
    I tried it using in pre record trigger using
    go_item(the field name');
    but it is saying illegal restricted porcedure using go_item in the the block level trigger.please someone help me .
    sudharshan

    I want to do this logic
    while querying the records and when-new-record-instance trigger is not firing can someone please help me how to do this.
    Thankyou
    sudharshan

  • Why yahoo/gmail retrieval and facebook app so so slow when in WIFI. But using the internet to check for emails and facebook is fast using the same WIFI connection??

    Why yahoo/gmail retrieval and facebook app so so slow when in WIFI. But using the internet to check for emails and facebook is fast using the same WIFI connection??

    Hi SandyS_VZW,
    Yes tried resetting the wifi connection and problem still persist.
    Here it is...to make it clear. Connected thru the same wifi at home...
    -> emails (yahoo/gmail) and facebook WEBSITES are working fine and fast when using/accessing thru a browser (chrome/samsung browser) - no problem with this.
    -> emails (yahoo/gmail) and facebook APP is soooooo sloooww (thru the App). Slow I mean comparing it to using their browser/websites... news feeds/emails refreshing so quickly but not when using the APP installed in Samsung Galaxy Note 4. Slow like - It will take around 5-10minutes just to get your emails and news feed refreshed.
    THIS HAPPENS ONLY WHEN CONNECTED THRU A WIFI which has a speed of 10-20mb. It is not happening when connected to the network data/plan.
    My wife has the same Samsung Galaxy Note 4 (coming from different provider at&t) - same setup (emails, fb app), same wifi connection, but she's not experiencing anything like it.
    Not sure why, I dont want to believe that while connected to a WIFI, Verizon is restricting anything and ******* me off to make me switch to my data plan connection everytime - which is Unfair!
    Was there a known issue similar about this case?
    thanks,

  • Page headers repeat for every record on *.CSV export in Crystal 8.5

    I am a MAS 90 reseller.  I have encountered this issue:
    When I try to export a report to a *.csv format in Crystal Reports version 8.5 page headers repeat for every record in the export file.  The Sage MAS 90 database provides this solution:
    This is a known Crystal Reports issue. Download U2FSEPV.DLL, version 8.6.2.475, dated 11/28/2003 from the Business Objects Web site. For more information and a download link, see knowledgebase article c2014451 at support.businessobjects.com
    Note: Be sure to select the download link for Crystal Reports 8.x.
    I cannot locate this download anywhere in the new SAP site.  Can anyone direct me to this download?
    TIA for your help!

    I was finally able to get the uploaded file by right clicking on the file and selecting Save As.  However, when I replace all instances of this dll file with the new one (renamed as directed) I continue to get headers in the CSV file.
    This does not resolve the issue of getting headers only in the output.  Is this the correct dll file or is there another issue causing this output error?

Maybe you are looking for

  • TS4006 Is there a way to show last location of a iPhone 3GS if its offline now or been reset!?

    I had a iPhone 3GS I was using As a iPod basically to store music in my car and play videos and things. However, someon broke into my car stealing said phone and radio and misc other stuff. And I cannot locate it on find my iPhone or anything like th

  • Failed to convert between UTF8 and UCS2: failUTF8Conv

    This error appear when trying to install the database cache. Does this have something to do with the classes111.zip or classes12.zip files?

  • File Path Missing

    I cant relocate my original files because the file path is missing all together. The path is replaced by a singe dot (.). This has happend to alot of my pictures. I have tried to both reapir and rebuild the library. Nothing works. Anyone have a ide o

  • Users in flat file not shown in Ressources Tab

    Is it normal that users saved in flat (XML)files are not shown in the ressources tab? When I acces the active directory or a WINNT or Solaris passwd file I see a "+" in front of the ressource with clicking on it I see all users within this ressource.

  • Tabular form change color?

    what if i have a tabular form and i wish to display a different background color when one of the field is displaying 'Y' instead of 'N'. How can i do so?