|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2007
Messaggi: 93
|
[PL/SQL] Script check URL
Ciao a tutti,
mi servirebbe un aiuto su un check che devo fare su dei dati inseriti in una tabella (DB Oracle) e credo che il modo più semplice è quello di fare uno script PL/SQL. Ho una tabella con i seguenti campi: URL SITE_ID CREATION_TIME DELETED LAST_MOD_TIME DESCRIPTION MAIL_FROM TIMEZONE_ID Il controllo che dovrei fare è praticamente il seguente: Per ogni URL verificare che ci siano l'url http://nome_url e l'url https://nome_url; inoltre se c'è solo l'url https mi deve dare errore in caso contrario, se è presente solo l'url http è OK. Successivamente se è presente la coppia degli url (http e https dello stesso nome_url) devo verificare che gli altri campi dei due record (dello stesso nome_url) siano uguali, in caso di qualche disallineamento devo estrarre quali URL sono disallineati. Come potrei fare? Io ho iniziato a creare questa bozza di PL-SQL ma mi estrae soltanto per ora gli url doppi, ma poi non riesco a fare gli altri check Codice:
SET SERVEROUTPUT ON;
DECLARE
CURSOR CSCHEMA IS
SELECT count(*) AS count_url, REPLACE(substr(URL, 8), '/', '') as url_name_complete, site_id
FROM table_url
group by REPLACE(substr(URL, 8), '/', ''), SITE_ID
order by 2;
RSCHEMA CSCHEMA%ROWTYPE;
BEGIN
SYS.DBMS_OUTPUT.PUT_LINE('START - CHECK URL');
OPEN CSCHEMA;
LOOP
FETCH CSCHEMA INTO RSCHEMA;
EXIT WHEN CSCHEMA%NOTFOUND;
IF (RSCHEMA.COUNT_URL = 2) THEN
SYS.DBMS_OUTPUT.PUT_LINE('URL: ' || RSCHEMA.url_name_complete );
END IF;
END LOOP;
CLOSE CSCHEMA;
SYS.DBMS_OUTPUT.PUT_LINE('END - CHECK URL');
END;
/
Grazie mille in anticipo. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2007
Messaggi: 93
|
Non c'è nessuno che riuscirebbe a darmi una mano?
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Nov 2007
Messaggi: 93
|
C'è qualcuno che riesce ad aiutarmi..
Nello specifico sto cercando di capire perchè quando provo a fare l'EXECUTE IMMEDIATE per effettuare un controllo mi ritorna questo errore: il pezzo di codice che mi sta creando è il seguente: Codice:
IF (RSCHEMA.COUNT_URL = 2) THEN
SYS.DBMS_OUTPUT.PUT_LINE('URL: ' || RSCHEMA.url_name_complete || ' - COUNT ' || RSCHEMA.COUNT_URL );
EXECUTE IMMEDIATE 'select count(*) from (select distinct REPLACE(substr(URL, 8), '/', '') as url_name_complete, SITE_ID, DELETED, DESCRIPTION, MAIL_FROM from table_url where REPLACE(substr(URL, 8), '/', '') = '|| RSCHEMA.url_name_complete || ')' into value_count;
SYS.DBMS_OUTPUT.PUT_LINE(value_count);
END IF;
Errore: Quote:
C'è qualcuno che riesce a darmi qualche dritta????
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Perugia
Messaggi: 16302
|
fai prima a chiedere su stackoverflow credo...
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Nov 2007
Messaggi: 93
|
ok grazie...mi che allora mi iscriverò anche lì!!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:06.



















