Vraag : PL/SQL cre�ër de Globale die Lijst van Temperaturen en neem verslagen op van UITGEZOCHTE vraag zijn teruggekeerd

Ik heb een eerder eenvoudige UITGEZOCHTE die vraag die een resultaat terugkeert met zowat 20 kolommen voor elk verslag in de resultaatreeks wordt geplaatst. Ik moet deze vraag in werking stellen elke week. Ik heb over globale tijdelijke lijsten gelezen, maar niet zeker geweest hoe te om hen in dit geval te gebruiken.

What die ik heb willen om doen ben cre�ër een globale tijdelijke lijst die de resultaten van de UITGEZOCHTE verklaring, dan, wanneer ik word gedaan, schrapt alle verslagen in de lijst, maar opnieuw sparen de lege lijst voor gebruik volgende week zal houden. Dan, is wat ik zou willen kunnen doen heeft de codeuitvoer de verslagen in de globale tijdelijke lijst als .csv dossier. Het de uitvoersegment zou het .csv dossier met een verschillende naam moeten opslaan telkens als het loopt zodat ik niet de geschiedenis van eerder uitgevoerde .csv dossiers - iets op de orde van het opslaan van het .csv dossier als „401k 06/06/10.csv“ deze week, dan als „401k 06/13/10.csv“ volgende week, etc. verlies. Het datumdeel van het opgeslagen dossier - de naam kan met de correcte datum worden bevolkt aangezien het in een andere sectie van de code wordt gevangen die vóór UITGEZOCHT (de tussenvoegselrijen in de globale lijst en sparen als .csv dossier) sectie loopt, die de laatste stap in het proces is. (De vorige UITGEZOCHTE vragen leiden tot de waarde voor de 20 variabelen en werken een andere lijst met elke bij. Dan, wint de definitieve UITGEZOCHTE verklaring die waarden van die lijst terug. Deze UITGEZOCHTE vraag keert het vastgestelde resultaat terug ik wil gebruiken om de verslagen tot stand te brengen die in de globale tijdelijke lijst.)

iets in die aard moeten worden opgenomen:

SELECT emp_id, veranderlijke a VAN waar, WAAR voorwaarden bestaan, (of FUSIE IN) lijst etc.
UPDATE „WERKNEMER“ die de kolom voor dit UITGEZOCHTE vraagresultaat houden;

SELECT emp_id, veranderlijke b VAN waar, WAAR voorwaarden bestaan, (of FUSIE IN) lijst etc.
UPDATE „WERKNEMER“ die de kolom voor dit UITGEZOCHTE vraagresultaat houden;

SELECT emp_id, veranderlijke c VAN waar, WAAR voorwaarden bestaan, (of FUSIE IN) lijst etc.
UPDATE „WERKNEMER“ die de kolom voor dit UITGEZOCHTE vraagresultaat houden;
. zelfde voor veranderlijke d
. zelfde voor veranderlijke e
. enz., tot alle diverse gebieden in WERKNEMER voor elk van deze UITGEZOCHTE verklaringen updated.

The definitieve UITGEZOCHTE vraag
SELECT veranderlijke a, " onderstreept " veranderlijke b, " onderstreept " veranderlijke c. VAN EMPLOYEE
returns " onderstreept " een resultaat met verslagen wordt geplaatst dat like
EMP_ID kijkt, veranderlijke a, " onderstreept " veranderlijke b, " onderstreept " veranderlijke c,… die is

It de verslagen in het resultaat van deze definitieve UITGEZOCHTE vraag wordt geplaatst die ik wil gebruiken om (TUSSENVOEGSEL IN) een globale tijdelijke lijst te bevolken de waarvan gebieden de zelfde naam en het type zoals die in de reeks van het vraagresultaat zijn, zodat de verslagen in deze definitieve UITGEZOCHTE reeks van het vraagresultaat in de globale tijdelijke lijst opgenomen worden die me een lijst geven die de waarvan verslagen enkel als het resultaat kijken van dit definitieve UITGEZOCHTE query.

Then wordt geplaatst die, wil ik de verslagen in de globale tijdelijke lijst als .csv dossier, sparen het .csv dossier uitvoeren, noemend het zoals hierboven vroeger beschreven, dan, na het uitvoeren van het .csv dossier, alle verslagen in de globale tijdelijke lijst (maar laat vallen niet de lijst aangezien ik dit proces wil herhalen en de lijst met een nieuwe reeks verslagen volgende week re-bevolken en niet een nieuwe lijst moeten creëren om de verslagen te houden telkens als ik de code in werking stel) schrappen. Het zou aardig als de codeuitvoering na het creëren van het .csv dossier kon pauzeren zijn, om het .csv dossier te tonen zodat die kan ik verzekeren het correct is, dan samenvatting met het opslaan van het .csv dossier, door alle verslagen in de globale tijdelijke lijst te schrappen na het opslaan van het .csv dossier aan disk.

In SQL Server wordt gevolgd, er een manier is om het opgeslagen dossier met de elektronische post te versturen die Vooruitzichten gebruiken. Ik weet niet of steunt PL/SQL dit, maar aangezien ik het opgeslagen .csv dossier moet met de elektronische post versturen, zou het groot zijn als er code PL/SQL die minstens tot e-mail zal leiden, en dan het verzenden is, indien mogelijk. Dit zou de extra stap van het openen van Vooruitzichten en manueel het creëren van e-mail, het vastmaken van het dossier, en het verzenden van e-mail bewaren. Deze e-mail gaat naar het zelfde e-mailadres elke week - slechts leidden de dossierveranderingen in bijlage in filename van het .csv dossier enkel tot. Er is geen e-maillichaamstekst - enkel worden het e-mailadres en de gehechtheid verzonden. (ik wilde over deze mogelijkheid in deze vraag vragen eerder dan het posten van een andere vraag over hoe te om het te doen.)

So… te recapituleren, mijn vraag is: Gezien mijn bestaande definitieve UITGEZOCHTE vraag een verslag terugkeert plaats met alle verslagen die in een globale tijdelijke table

1 moeten worden opgenomen. Hoe ik de globale tijdelijke lijst cre�ër om de verslagen in de definitieve UITGEZOCHTE reeks van het vraagresultaat te houden,
2. NEEM de verslagen in de globale tijdelijke lijst,
3 op. Voer de verslagen in de globale tijdelijke lijst als .csv dossier,
4 uit. Voorproef de verslagen in het .csv dossier vóór het bewaren van het,
5. Sparen het .csv dossier met de noemende hierboven beschreven overeenkomst,
6. Cre�ër een e-mail met het .csv dossier in bijlage,
7. Verzend e-mail.

If de stappen 6 en 7 worden niet gesteund in PL/SQL, die geen probleem is; Ik zal enkel e-maildeel manually.

If moeten doen ik al deze dingen in een manuscript kan doen PL/SQL, dan kan het volledige wekelijkse proces volledig worden geautomatiseerd, dat mijn objective.
is

Antwoord : PL/SQL cre�ër de Globale die Lijst van Temperaturen en neem verslagen op van UITGEZOCHTE vraag zijn teruggekeerd

1. leidt tot globale tijdelijke lijsttemp_employee
    (col1.
    als ordenary lijstverwezenlijking in orakel
    (u moet geen verslagen schrappen: de lijst is leeg bij het begin van elke nieuwe zitting)
2. het tussenvoegsel, update, schrapt verklaringen is identiek aan normale lijsten in orakel
    na COMMIT nochtans is de tijdelijke lijst leeg tenzij u het zoals bepaalt
    cre�ër globale tijdelijke lijsttemp_employee
    op bega domeinrijen
    dan bestaat de rijen voor de duur van de zitting
3/5 gebruikend sqlplus u output kunt spoelen
    kolom current_date new_value current_date
    selecteer sysdate current_date uit dubbel; -- dit vult veranderlijke &&current_date

     spoel file_&&current_date.csv
     selecteer col1 || „; “ || col2 || „; “ || enz. van temp_employee;
     spoel weg
     het dossier wordt geschreven op de looppas van machinesqlplus
     u problaby behoefte één of andere andere sqlplus die uw csv van informatiegegevens vrij plaatst te houden
     de reeks verifi�ërt weg
     vastgestelde rubriek weg
     

     in een pl/sql-blok kunt u het utl_file pakket gebruiken om een dossier op de server te schrijven het gegevensbestand op is
 4)?
6/7 onderzoek naar pl/sql e-mail op www.experts-exchange.com
       indien gezien verscheidene vragen geantwoord in het verleden
Andere oplossingen  
 
programming4us programming4us