Ciao tutti.
Mio nome È Peter Mroz.
Io sono con Janssen farmaceutico,
E Oggi Io sono andando A parlare A Voi
Di Come combinando JMP E Oracolo Potere Guida A UN Contento matrimonio.
IO lavoro per Janssen Ricerca e sviluppo.
Erano UN interamente- controllata di proprietà Di Johnson E Johnson,
E Nostro carta È A scoprire E sviluppare
innovativo medicinali E soluzioni Quello trasformare individui vite
E risolvere IL maggior parte importante medico insoddisfatto esigenze Di Nostro tempo.
Entro Quello mondo,
Io sono In IL Globale Medico Sicurezza Dipartimento,
E Nostro carta È A proteggere pazienti di guida
robusto medico sicurezza eccellenza E beneficio -rischio valutazione.
E Poi entro Quello Dipartimento,
Io sono In UN gruppo chiamato Metodi E Analisi,
E Nostro scopo È A sviluppare E strumento analitico utensili
A aumento efficienza E analitico capacità
A rilevare E valutare sicurezza segnali.
Ancora, Mio nome È Peter Mroz E Io ho stato UN JMP utente Da 2007.
Standard Disclaimer.
Questi Sono Mio visualizzazioni
E Fare non implicare Qualunque approvazione Di Qualunque Prodotto di Janssen O J &J.
Ecco Nostro ordine del giorno per Oggi.
Io sono andando A Dare UN introduzione
E Poi BENE salto Giusto in Oracolo cose.
BENE parlare Di ODBC, configurazione IL Oracolo cliente,
IL ODBC connessione corda, portando dati da Oracolo in JMP,
E Poi scrivere dati Indietro A Oracolo da JMP,
Poi veloce dati inserimento, Più veloce dati caricamento,
Poi esecuzione UN Oracolo PL /SQL procedure,
nascondersi IL Le password, errore intrappolare,
edificio NEGLI elenchi,
E spruzzato per tutto, Io ho avuto Alcuni varie suggerimenti.
COSÌ Mio Dipartimento È chiamato Globale Medico Sicurezza,
E Noi raccogliere, processi, E rapporto E analizzare avverso evento dati
per IL medicinale prodotti Quello Noi produrre.
Essi Sono soprattutto spontaneo casi,
Sebbene Là Sono Alcuni clinico prova casi.
Questi Sono chiamato inviare -marketing.
Loro sono UN Uomo O donna In IL strada, a piedi giù IL strada,
E Voi esperienza Alcuni ordinare Di farmaco lato effetto,
E Voi chiamata Esso in Nostro chiamata centro
E Noi correre Esso Attraverso Nostro processi E negozio Esso In Oracolo.
Nostro volume È Di 5.000 casi UN giorno, E UN caso consiste Di UN persona...
Loro sono non UN paziente, Loro sono non In UN clinico prova.
Suo UN persona, IL droghe Essi preso,
IL eventi Essi esperto, IL lato effetti Essi esperto,
Forse Alcuni medico storia, E Noi negozio qualcosa chiamato UN narrativa.
E ecco UN esempio, paziente narrativa.
S oggetto avevo cancro,
Quale era diagnosticato In Giugno 1998, et eccetera, et eccetera.
Suo UN lungo storia Di IL paziente E IL lato effetti,
E Questo È molto importante per Nostro sorveglianza medici
E altro scienziati A Aspetto A.
Questo È immagazzinato COME UN [impercettibile 00:02:52] In Oracolo, di IL modo.
JMP, COME Noi Tutto Sapere,
È Grande A statistico analisi E visualizzazione.
Oracolo È Grande A dati magazzinaggio E transazionale in lavorazione.
Nostro utenti Volere A analizzare E visualizzare dati da Oracolo utilizzando JMP.
In primis, Noi Aspetto A tabellare rapporti Di sicurezza dati,
riepilogo informazione, paziente narrativa trapano bassi,
E Noi Fare Alcuni visualizzazione Di sicurezza dati
attraverso di tendenza O foresta trame.
Con Tutto Quello,
JMP E Oracolo insieme Fare UN Contento matrimonio.
BENE inizio di parlando Di ODBC,
Quale sta per Aprire Banca dati Connettività.
ODBC autisti accesso IL Banca dati utilizzando SQL.
SQL sta per Strutturato Domanda lingua.
COSÌ IL ODBC autista consente UN JMP cliente Software
A comunicare con IL Oracolo Banca dati.
IL Primo cosa Voi Avere A Fare È installare IL Oracolo cliente SU IL computer.
Questo È UN esercizio Sinistra A IL lettore.
Suo non UN tutorial SU installazione Questo, COSÌ Voi Potere Google Esso.
Tuttavia, una volta hai installato Esso,
Là Sono UN coppia Di cose Voi Bisogno A fornitura per IL Oracolo cliente.
Voi Bisogno A definire due ambiente variabili.
Uno È ORACOLO_ CASA, IL altro È TNS _AMMINISTRATORE.
COSÌ ORACLE_HOME punti A UN cartella Dove IL cliente È In realtà installato.
Qui, suo In C, Oracolo , 19 , cliente _1.
E Poi Voi Volere A includere IL bidone directory
In IL sentiero ambiente variabile.
COSÌ In Questo caso, suo IL ORACLE_HOME con il cestino barrato.
IL TNS_ADMIN punti A IL posizione Di TNSNAMES. ORA,
-Malato spiegare Che cosa Quello È In UN secondo-
E quello è tipicamente situato
In IL rete amministratore sentiero sotto IL ORACLE_HOME .
Ecco UN suggerimento;
Voi Potere punto Questo TNS_ADMIN variabile A UN file condividere posizione
COSÌ multiplo utenti Potere Tutto punto A Questo file
E suo Più facile A mantenere uno versione Di TNSNAMES.ORA.
Che cosa esattamente È TNSNAMES.ORA?
Suo UN configurazione file.
Suo Piace UN segreto decodificatore squillo,
Esso traduce fra UN Banca dati alias E informazione necessario
di IL Oracolo cliente A parlare A tuo Banca dati.
Ecco Mio esempio; Mio alias È MYDEVDB,
E Poi ecco Mio descrizione
per Come A Collegare MYDEVDB A Mio Oracolo Banca dati.
Con Quello completato,
Ora Noi Bisogno A determinare UN ODBC connessione corda,
E IL più semplice modo A Fare Questo È A clic IL finestre pulsante E tipo ODBC,
E Noi Volere A incontro IL schiudere.
Per 64 -morso JMP, Noi Volere IL 64 bit ODBC dati fonti.
Per 32 -morso JMP, Noi Volere IL 32- morso ODBC dati fonti.
IO Avere 64 bit JMP,
COSÌ IO cliccato Quello E IO Portare su Questo schermo Qui,
E IO clic SU IL autisti scheda,
E Qui Sono IL autisti per ODBC Quello Sono installato SU Mio sistema.
IO Avere tre Oracolo clienti E uno SQL Server.
IO Avere IL Oracolo cliente versione 11, 12, E 19,
COSÌ Farò clic SU Questo Oracolo versione 19 autista,
E Voi Volere A Fare Nota Di Questo; Oracolo In Ora Cliente19 Casa 1.
Quello è Tutto Voi Bisogno A Sapere.
Ora Noi Avere Nostro ODBC connessione corda.
Noi combinare Quello Piace COSÌ con autista equivale Quello corda,
DBQ equivale Nostro Banca dati alias.
UID equivale tuo nome utente, PWD equivale tuo parola d'ordine.
COSÌ ecco UN completamente -formato ODBC connessione corda.
Autista equivale Mio Oracolo 19 autista. DBQ È MYDEVDB,
nome utente È IL MIO NOMEUTENTE, parola d'ordine È LA MIA PASSWORD.
Va bene, Ora Quello erano Tutto configurato, Noi Potere Portare dati in JMP.
Là Sono parecchi modi A Ottenere Oracolo dati in JMP.
Là e' Aprire Banca dati, Eseguire SQL , Nuovo SQL Domanda, E Domanda Costruttore,
Quale È Sotto IL File Banca dati menù.
Questo parlare Volere messa a fuoco esclusivamente SU Eseguire SQL
Perché Voi Potere creare UN Banca dati connessione
E Poi Voi Potere eseguire
parecchi SQL comandi con Eseguire SQL E Poi vicino IL Banca dati connessione.
Se Voi confrontare Quello A Aprire Banca dati, Aprire Banca dati In uno chiamata,
si apre IL connessione,
corre UN SQL comando, chiude IL connessione.
COSÌ Se Voi Avere 20 SQL dichiarazioni,
tu sei apertura E chiusura IL connessione 20 volte,
mentre con Eseguire SQL, Voi soltanto aprire Esso una volta,
eseguire tuo 20 comandi con 20 eseguire SQL comandi,
E Poi vicino IL Banca dati connessione, COSÌ Esso velocità cose su.
In IL scripting indice, Questo È Che cosa Eseguire SQL sembra Piace.
Esso prende IL seguente argomenti;
c'è UN Banca dati connessione maniglia Quale è qui,
definito di tuo connessione corda.
C'è O UN SELEZIONARE dichiarazione o a SQLFILE è uguale a dichiarazione,
O un SQL FILE equivale UN puntatore A UN file contenente tuo SQL comandi.
UN invisibile parola chiave, Se Voi fornitura UN tavolo Nome,
quello è equivalente A detto SELEZIONARE stella da tavolo Nome,
E Poi UN produzione Tavolo Nome fornisce IL nome per IL JMP dati impostato
E Eseguire SQL ritorna, puntatore A UN tavolo
Se tu sei emissione UN SELEZIONARE dichiarazione , Quale ritorna UN dati impostato.
Ecco UN esempio;
IO Avere Mio connessione corda, autista equivale Oracolo In Ora Cliente19 Casa 1,
MYDEVDB, Mio nome utente, Mio parola d'ordine.
Io sono chiamandolo creare Banca dati connessione con Questo corda.
Io ho avuto Mio SQL dichiarazione Qui,
Io sono selezionando Alcuni colonne da UN tavolo chiamato eba_sales _rappresentanti di vendita,
E Io sono passando Mio connessione, Mio SQL dichiarazione,
E Poi UN titolo per IL tavolo A eseguire SQL,
Poi Io sono chiusura IL Banca dati connessione.
Ecco Mio tavolo IO reso da Oracolo.
Sono sette colonne, 20 righe.
Ecco IL Primo mancia,
E Quello È Se Voi Avere UN corda con UN separare citazione dentro Esso,
In ordine A utilizzo Esso con Oracolo,
Voi Avere A sostituire Quello separare citazione con due separare citazioni Piace Questo.
Qui, Mio SQL dichiarazione È SELEZIONARE stella da Mio _tavolo M,
Dove M nome equivale O'Malley,
E Da Questo È dentro IL corda, IO Avere A sostituire Esso con due citazioni.
Ecco IL secondo mancia;
utilizzo colonna alias per leggibilità.
Questi Sono Mio colonna alias, COSÌ ecco Mio colonna,
E Poi In Doppio citazioni, Io ho avuto UN alias.
Voi avviso suo misto caso,
Là Sono spazi In Là, Esso fa Esso Di più leggibile.
Ecco Mio tavolo con IL Di più leggibile colonna intestazioni.
IL altro cosa Di Questo È,
Io sono utilizzando barra rovesciata aprire piazza staffa, vicino piazza staffa barra rovesciata
A Evitare IL Bisogno A fuga Mio Doppio citazioni.
Voi avviso Io ho avuto Doppio citazione Qui,
Poi Io ho avuto Mio barra rovesciata aperta piazza staffa,
E Poi Io ho avuto Doppio citazioni,
E Poi IO vicino Esso fuori Qui COSÌ Esso sembra UN quantità più pulito.
Che cosa Se Voi Volere A scrivere dati Indietro A Oracolo?
Voi Potere problema UN AGGIORNAMENTO dichiarazione O UN INSERIRE dichiarazione.
Qui È Mio AGGIORNAMENTO dichiarazione, E Io sono semplicemente definendo Quello,
passando A UN variabile, E Poi passando A Eseguire SQL.
Sto aggiornando IL tavolo,
collocamento IL scorso nome A fabbro Dove IL Primo nome È Svezia.
O Qui Io sono inserendo UN nuovo documentazione in Questo tavolo
E Io sono collocamento IL valore Di questi campi A IL valori mostrato Qui.
Uno cosa A Nota Di AGGIORNAMENTO E INSERIRE
È Eseguire SQL fa UN implicito COMMETTERE per questi comandi,
COSÌ Voi non Bisogno A Fare UN COMMETTERE te stesso.
Uno cosa Di INSERIRE,
Se Voi Avere multiplo INSERIRE dichiarazioni A eseguire,
Essi Potere Essere lento,
COSÌ IO trovato UN alternativa Quale È INSERISCI TUTTO.
Ecco UN esempio Dove Io sono inserendo in Questo tavolo.
IL colonna È chiamato campione _numero
E Io sono inserendo dieci valori Tutto A una volta con uno dichiarazione.
IL soltanto Strano cosa È,
Voi Avere A Mettere qualcosa Piace SELEZIONARE 1 DA DOPPIO
A IL FINE Di Esso E Poi Esso lavori.
Andiamo Vedere Quello In azione.
IO Volere A inserire 100 righe uno di uno E confrontalo A 100 righe Tutto A una volta.
IO Avere UN poco esempio Qui, andiamo andare avanti E correre Esso.
COSÌ Esso preso 8 secondi A Fare uno A UN tempo contro 0,15 per INSERISCI TUTTO,
E COSÌ Esso era 52 volte Più veloce.
Andiamo Aspetto A IL codice UN poco morso.
Noi Avere fabbricazione UN connessione, troncando UN tavolo.
Ecco Mio uno A UN tempo.
IO ho il mio Esegui SQL dentro Mio ciclo continuo,
E di IL modo, Io sono looping UN centinaio volte.
Qui, Eseguire SQL È dentro IL ciclo continuo, E giù Qui per INSERISCI TUTTO,
Io sono di partenza con INSERISCI TUTTO
E IO Mantenere aggiungendo in IL tavolo, campi, valori.
Mantenere aggiungendo Quello,
E Poi IO soltanto correre uno SQL comando.
E Se IO Aspetto A Questo comando, puoi vedere che è bello pesante.
Ecco Mio SQL dichiarazione.
Suo molto lungo, Ma Esso preso 0 .15 secondi A correre.
INSERISCI TUTTO in TEST IMPORTARE,
campo nomi, valori, in, in, in.
Va bene.
Andiamo andare Indietro A diapositiva modalità.
Che cosa Se Voi Avere
Di più di un migliaio righe A inserire in tuo Banca dati?
Che cosa Se Voi Avere 10.000 righe O 50.000 righe?
Voi Potere utilizzo UN attrezzo da Oracolo chiamato Caricatore SQL per Più veloce dati caricamento.
Caricatore SQL richiede UN dati file Quale Potere Essere virgola separato,
scheda -delimitato, fisso formato, E UN controllo file.
IL controllo file descrive
IL struttura Di IL dati file E IL bersaglio tavolo,
E erano andando A aggiungere un altro strato SU Questo
Perché erano andando A Fare Tutto Questo da entro JSL.
Io sono andando A creare UN comando file
Quale corre Caricatore SQL In UN comando finestra.
Esso Anche genera IL controllo E comando File utilizzando JSL,
E Malato utilizzo correre programma A eseguire IL file.
Ecco Mio file.
Suo molto emozionante,
suo sei colonne, quattro righe E suo scheda delimitato.
Qui Io sono mostrando IL svelare codice, COSÌ Questo È Mio scheda carattere,
E ecco Mio esempio.
Io ho avuto collocamento Alcuni variabili,
E Qui Io sono creando Mio controllo file
E Io sono utilizzando eval inserire A Fare questi variabili,
-circondato di IL poco accento circonflesso— convertire A loro valori su Qui.
Importare _file nome Volere Essere prova_import.txt, tabella_desist Volere Essere TEST_IMPORT.
Campi Sono terminato di scheda, In realtà chiuso di Doppio citazioni.
Ecco Mio sei campi,
E Io sono aggiungendo UN coppia Di altro campi, data _caricato E nome utente _caricato.
Data _caricato Volere Essere IL sistema data.
IL nome utente _caricato Volere Essere IL account nome
Di IL persona corsa Esso.
Io sono Salvataggio Questo file fuori A IL directory
E Io sono creando UN comando file A correre Caricatore SQL.
Collocamento Mio guidare A IL C guidare, semina in Questo elenco,
poi ecco Mio comando;
Caricatore SQL utente ID equivale Mio credenziali A Mio Banca dati nome,
E ecco Mio controllo file, Mio tronco d'albero file.
E Se Voi avviso,
IO avevo A aggiungere questi barra rovesciata punto esclamativo capitale N.
Questi Sono difficile ritorna.
Per Alcuni motivo, Esso non l'ho fatto lavoro senza questi In Là,
COSÌ IO avevo A aggiungere quelli In per IL comando file A lavoro.
Sto risparmiando Esso,
E Poi Io sono corsa Esso Qui con correre programma.
Poi Io sono controllo IL risultati.
Se Esso fa non contenere riga con successo caricato In IL produzione,
Poi IO Schermo UN errore Messaggio E Schermo IL produzione da eseguire SQL carico.
Se Esso era riuscito,
Poi IO carico IL tronco d'albero file In E Schermo Quello.
Ecco Mio tronco d'albero file.
Ne ho circa quattro righe con successo caricato In 1.5 secondi.
IO Volere A Fare UN demo Di sei colonne con 30.000 record,
E andiamo correre Quello uno.
Io sono caricamento in IL Stesso tavolo, Sto troncando IL tavolo,
E Io sono corsa Caricatore SQL, carico IL dati file.
Suo IL Stesso controllo file.
Quando suo Tutto Fatto,
suo andando A Schermo IL produzione da IL tronco d'albero file.
Ecco IL produzione.
Io ho avuto 30.000 righe con successo caricato.
NO righe erano non caricato dovuto A dati errori E Esso preso 16 secondi.
Quello era 30.000 righe, E Noi Potere Aspetto A Quello dati.
Qui IO Sono In UN attrezzo chiamato PL/SQL Sviluppatore.
SELEZIONARE stella da IL tavolo E ecco Mio valori,
ecco Mio data caricato, Quale È Oggi,
Mio nome utente,
E suo andando A Selezionare Tutto IL righe.
lascerò Quello correre.
Va bene, COSÌ ecco UN Aspetto A IL dati file, E ecco IL tronco d'albero O precedente correre.
Esso preso 25 secondi.
Tutto Giusto, in movimento SU.
Ora, Che cosa Se Voi Volere A eseguire UN Oracolo PL /SQL procedura?
PL /SQL sta per Procedurale Lingua Estensioni A SQL,
E suo UN ordinare Di UN 3GL, 4GL lingua Oracolo usi
A Fare funzioni, procedure E IL Piace.
Se Voi Avere UN procedura,
Voi semplicemente circondare Esso con inizio E FINE E Poi passaggio Esso A Eseguire SQL.
Qui è INIZIO, è il mio schema nome.
Questo È UN pacchetto chiamato pacchetto utile, E Poi dentro Là,
c'è UN procedura chiamato Inviare e-mail con UN discussione successo ,
E Poi IO aggiungere IL FINE A IL FINE.
COSÌ Quando Voi Fare Questo,
Esso corre Esso E controllo Volere ritorno A JMP Quando IL procedura È Fatto,
COSÌ BENE Aspettare.
Va bene, andiamo parlare Di Alcuni sicurezza cose.
Quando Voi tiro dati da Oracolo,
di predefinito, c'è UN fonte proprietà In IL dati impostato,
E Quello Volere spettacolo Voi
IL nome utente E parola d'ordine E connessione corda,
E Voi Potrebbe non Volere A spettacolo Quello A Tutto tuo utenti.
Se Voi correre Questo comando,
Esso Volere nascondere IL connessione corda In IL dati impostato quello è restituito.
IO andare UN coppia Di passi al di là Quello.
IO creare UN connessione In UN crittografato JSL funzione.
Questo funzione contiene UN Banca dati nome, IL nome utente, E IL parola d'ordine,
E Esso ritorna UN Banca dati connessione
E predefinito Locale assicura Quello funzione variabili Sono non visibile.
Andiamo Avere UN Aspetto A Quello.
Ecco UN poco funzione chiamato Mio _dbc,
E Questo È IL non crittografato versione.
Ecco Mio predefinito Locale.
IO controllo ambiente variabili.
Ecco Mio connessione corda.
Questo È IL uno Quello Voi non Volere persone A Vedere.
Ecco Mio autista, Mio Banca dati, Mio nome utente , Mio parola d'ordine.
IO creare UN Banca dati connessione con Quello corda
E Poi Appena ritorno Mio Banca dati connessione.
Andare A crittografare IL sceneggiatura,
Voi clic SU modificare, crittografare sceneggiatura, accedere UN decifrare parola d'ordine.
-IO non utilizzo correre Le password-
E Poi clic si qui.
Ecco Mio crittografato sceneggiatura,
E Poi Io sono andando A salva Esso COME mio_dbc .jsl.
A utilizzo Esso, IO includere Quello sceneggiatura,
Quello crittografato sceneggiatura In Mio JSL codice, E Quello definisce Quello funzione per Me.
Poi IO chiamata Mio _dbc A Ottenere UN Banca dati connessione,
SELEZIONARE stella da Questo tavolo
eseguire SQL, vicino Banca dati connessione,
COSÌ ecco Mio tavolo.
E Se Voi Aspetto A DBC In IL tronco d'albero,
Tutto Esso Spettacoli È Banca dati E Poi tuo Oracolo cliente autista.
Molti volte Quando Voi correre SQL comandi In JMP,
Voi correre in errori, E suo non molto facile A eseguire il debug Questo,
COSÌ IO ha scritto UN funzione chiamato log_execute_ sql,
Quale esegue SQL comandi E trappole Qualunque ODBC errori trovato In IL tronco d'albero.
Se lo trova errori, Esso visualizza UN avvertimento Messaggio A IL utente
lungo con IL SQL, e insieme con IL errore.
Se Voi impostato UN globale variabile A uno, Esso visualizza UN SQL Prima esecuzione Esso.
Questo ha diventare molto maneggevole per sviluppando E debug SQL.
IL funzione usi tronco d'albero catturare A ispezionare IL tronco d'albero per errori.
Questo È IL sintassi per tronco d'albero catturare, corda equivale tronco d'albero catturare espressione,
E Questo È Qualunque cosa comandi Voi Volere eseguito E catturato,
E nulla Quello normalmente andare A tronco d'albero Volere andare in corda,
E Poi Voi Potere ispezionare la stringa.
Tronco d'albero _eseguire _sql prende cinque argomenti: IL nome Di IL chiamando programma,
UN Banca dati connessione, UN SQL dichiarazione,
UN invisibile bandiera, E UN tavolo nome A ritorno,
E Qui Sono due esempi.
Uno lavori E uno no lavoro.
Questo ha SELEZIONARE DATA SISTEMA DA DOPPIO,
Quale È UN standard Oracolo comando A Ottenere IL attuale sistema data,
E Questo ha UN intenzionale errore In Esso, doppio X,
Quale IO Sapere no esistere.
Quando Noi correre IL Primo SQL dichiarazione, Noi Ottenere IL data di sistema.
Molto Bene.
Quando Noi correre IL secondo dichiarazione, Noi Ottenere UN errore Messaggio.
Chiamando il programma è elencato Qui, IL errore il messaggio è Qui.
Questo È molto importante,
lungo con Questo codice, ORA-00942,
E Poi ecco tuo SQL dichiarazione,
E Questo Totale Messaggio È dentro Di UN testo modificare scatola,
COSÌ Voi Potere copia E impasto Esso.
Ecco UN esempio per eseguire il debug produzione.
IO giro SU Mio eseguire il debug bandiera E Quando IO correre Mio dichiarazione,
IO Ottenere UN informativo Messaggio
-Suo non UN errore, suo Appena informativo—
mostrando IL chiamando programma, Banca dati connessione,
se suo invisibile O non, IL tavolo nome, E IL SQL stato,
E Poi IO Potere clic Questo casella di controllo
Se IO Volere A giro spento successivo eseguire il debug produzione.
COSÌ ecco tronco d'albero _eseguire _sql, c'è UN descrizione,
una descrizione Di IL argomenti,
UN coppia Di esempio chiamate, E Poi ecco IL funzione si.
Ecco Mio argomenti, IO controllo IL Banca dati connessione,
IO controllo IL SQL dichiarazione, verifico IL eseguire il debug bandiera.
Se IL eseguire il debug bandiera È SU, IO Fare UN poco finestra
E IO Schermo IL attuale SQL In UN testo modificare scatola,
E Poi IO Dare IL utente IL opzione A giro spento successivo eseguire il debug produzione.
Se Essi clic Quello, IO Ripristina IL bandiera A zero.
Poi ecco IL carne Di Questo funzione
IO forza Tutto errori A andare A IL tronco d'albero con lotto interattivo uno,
Poi IO chiamata tronco d'albero catturare
con O UN invisibile bandiera SU O non- invisibile bandiera accesa
per eseguire SQL,
E Poi IO giro lotto interattivo, impostato Esso Indietro A zero,
Poi IO controllo IL tronco d'albero finestra per ODBC errori,
IO Aspetto per Oracolo ODBC O IL parola errore E IO impostato UN bandiera,
E Poi IO utilizzo parole E IL [impercettibile 00:25:02]
per ricordarmelo A analizzare IL produzione Di IL tronco d'albero in separato linee.
Poi IL errore Messaggio È Sempre SU linea uno Di Questo Messaggio.
Se Noi trovato UN errore, Poi Esso visualizza IL errore.
IO Avere UN esempio Qui Ancora.
COSÌ ecco UN esempio Dove Esso dice DA parola chiave non trovato Dove previsto.
Se Noi Aspetto A IL SQL,
IO accadere A Sapere c'è UN virgola mancante Qui.
Andiamo parlare Di edificio IN elenchi.
IL Oracolo IN operatore determina se UN valore partite Qualunque valori In UN elenco.
Ecco UN esempio.
SELEZIONARE stella, DA EBA _SALDI_ SALDI RIPETIZIONI,
Dove IL scorso nome È In uno Di questi valori,
E suo simile A IL JSL contiene funzione
Dove Qui Io sono detto fa Questo elenco contenere IL parola Raj?
In Questo caso Esso era giù A posizione due.
C'è UN avvertimento con IL IN operatore.
C'è UN limite Di un migliaio valori.
Di corso, IO ha scritto Mio Proprio funzione, get_sql _In _elenco,
Quale prende in giro Quello limitazione.
E Che cosa Esso fa,
Esso costruisce UN inlist da IL elenco fornito.
Se Là Sono Di più di 1000 elementi SU IL elenco,
Esso separa loro in 1.000 elemento pezzi
collegato attraverso unione A Evitare IL limite Di un migliaio elementi.
E Se IL elementi Sono Di tipo corda,
Qualunque separare citazioni dentro IL stringhe Volere Essere sostituito con due separare citazioni,
E separare citazioni Volere Essere Mettere in giro ogni articolo.
COSÌ c'è due argomenti.
Primo uno È articolo elenco.
Suo IL elenco Di elementi A creare UN infinito DA,
E Poi UN preambolo,
Quale È UN SQL corda A prefazione IL Nella lista con,
COSÌ BENE Vedere Che cosa questi Significare In Questo esempio.
Ecco UN esempio Dove IO Avere UN numerico elenco,
E Mio preambolo È Selezionare Questo ID da schema informazioni,
Dove IL ID In aprire parentesi.
COSÌ ecco Mio chiamata A Ottenere _sql_in _elenco, Mio id_list, preambolo
E IL produzione sembra Piace Questo;
SELEZIONARE stella da Mio tavolo M.
IL ID È In Qui.
Selezionare ID da schema informazioni Dove ID È In uno Di questi numeri.
Se Voi Aspetto A UN corda esempio, ecco quattro elementi In Questo elenco.
IL Primo uno E IL terzo uno ha UN separare citazione dentro loro,
E ecco Mio preambolo.
Quando IO chiamata Ottenere _sql_in_list E combinare Esso In Mio SQL dichiarazione,
Questo È Mio risultato.
SELEZIONARE stella da Mio tavolo M,
Dove IL Prodotto nome È IN E Qui suo Mio preambolo,
Dove mettere in guardia nome È IN, A, B, C, O D.
E lo farai avviso per UN E C
Esso sostituito IL separare citazioni con due citazioni,
E Esso Anche convertito questi Doppio citazioni A separare citazioni Qui.
Ecco UN estratto Di UN lungo esempio Dove IO avevo un migliaio Di questi ID valori,
E COSÌ ecco IL Primo mille, E Poi UN unione dichiarazione,
E Poi IL Prossimo mille E COSÌ SU E COSÌ via.
Tutto Giusto, ecco mancia numero tre.
Quello È A utilizzo UN integrato sviluppo ambiente
per sviluppando tuo SQL dichiarazioni.
Questi Avere UN GUI davanti FINE
E Essi permettere Voi sviluppare E eseguire il debug SQL E PL/SQL.
Questi Sono Alcuni popolare utensili Quello Io sono consapevole Di.
IO utilizzo PL/SQL Sviluppatore.
Viene da Tutto girare Automazioni.
C'è UN attrezzo chiamato SQL Sviluppatore da Oracolo quello è UN omaggio,
E ROSPO arriva da Ricerca.
Molti persone Sono familiare con ROSPO.
Andiamo Avere UN Aspetto A PL/SQL Sviluppatore.
Noi sega Esso prima Quando IO selezionato da Questo tavolo.
IO Potere Fare cose Piace evidenziare questi,
copia con intestazione, Indietro A JMP,
creare UN vuoto dati impostato E clic SU Modificare,
impasto con colonna nomi.
Boom, c'è Mio dati.
Va bene.
E IO Potere navigare funzioni, procedure, Pacchetti, tavoli, et eccetera, et eccetera.
Ecco UN poco Di più
SU Quello debug esempio Quello Noi sega prima,
E Ancora, UN virgola mancante Qui.
È appena un altro Di più esplicito mostrando Di Quello errore Messaggio.
COSÌ Voi Prendere Questo, copia Esso, Aspetto A Esso, E rilavorazione Esso.
Un altro mancia, Questo È UN morbido mancia,
E Quello È A Evitare in linea Commenti utilizzando trattino- trattino
COME Esso Potere confuso IL parser.
Questi Sono Commenti Dove IL trattino -trattino dice
qualunque cosa Dopo Questo SU Questo linea È UN commento.
A volte, Alcuni situazioni,
IL parser prende confuso
E no trattare questi proprietà COME Commenti,
COSÌ suo Meglio A utilizzo barra-stella-stella-barra.
Io ho Appena visto UN coppia Di volte Dove Esso non l'ho fatto lavoro
E IO tracciato Esso giù A questi Commenti.
Uno Di più mancia, E Quello È A utilizzo
Questo Oracolo SIST _CONTESTO funzione A Ottenere utile informazione.
C'è UN spazio dei nomi chiamato U SERENV In Oracolo
E Voi Potere Ottenere IL IP indirizzo, IL cliente computer,
IL programma fabbricazione IL ODBC chiamata,
IL operativo sistema identificatore per IL cliente,
IL attuale sessione,
operativo sistema nome utente, E IL Banca dati nome.
C'è molti Di più.
Se Voi Google Esso, Là 'S molti Di più parametri,
Ma questi Sono IL quelli Quello IO utilizzo.
Qui Io sono detto Selezionare IP indirizzo, modulo, terminale,
operativo sistema utente E servizio nome.
Ecco Mio chiamata A SYS_CONTEXT,
E Io sono Appena selezionando Esso da DOPPIO, sindacato questi insieme,
E IL risultati Aspetto Piace Questo giù Qui.
Ecco Mio IP indirizzo.
Io sono chiamando da JMP .exe, NO sorpresa Là.
Mio nome utente, Mio Banca dati, E Poi Mio computer nome.
Quello è Tutto IO Avere Oggi.
IL conclusioni Malato disegno,
O Se Voi configurare IL Oracolo cliente correttamente,
Ottenere IL ODBC connessione corda
E utilizzo Eseguire SQL JMP In Oracolo Potere Fare Grande cose.
COSÌ una volta Ancora, JMP e Oracolo equivale UN Contento matrimonio.
Grazie Voi, ci sono Qualunque domande?