Ri: SQL - non è possibile inserire più comandi nell'istruzione preparataCaro Ron, finora non l'ho fatto, ma qui stai chiedendo una nuova query sql per due tabelle, suppongo, non può gestirlo. Hai provato invece a eseguire sql?
Un'altra possibilità sarebbe l'unione tra le due query per averne una sola. Ma questo richiede esattamente le stesse colonne nello stesso ordine.
Ri: SQL - non è possibile inserire più comandi nell'istruzione preparataottengo lo stesso errore se lo provo usando il seguente script:
// connect to database - open data base
DBConnection = Create Database Connection(
"ODBC:DSN=database-project;EPWD=.....;");
sql_events =
"\[
select * from "public"."logs" "t1";
select * from "public"."logs" "t1";
]\"
dt1 = execute sql ( DBConnection, eval insert ( sql_events , "¤") , "Events from logs" );
il problema potrebbe essere simile a questa discussione:
https://community.jmp.com/t5/Discussions/SQL-query-to-ODBC-datasource-SQL-server-with-temporary-tables/td-p/457582
ma la soluzione non è esattamente applicabile al redshift.
Ri: SQL - non è possibile inserire più comandi nell'istruzione preparataGeneralmente non è possibile eseguire due istruzioni SQL con una chiamata a EXECUTE SQL.Entrambe le affermazioni sono le stesse; forse stavi solo mostrando un esempio?
Perché stai cercando di eseguire due istruzioni SQL contemporaneamente?EXECUTE SQL restituisce un set di dati per ogni istruzione SQL.
Perché non eseguire semplicemente due comandi EXECUTE SQL?
Ri: SQL - non è possibile inserire più comandi nell'istruzione preparatahai ragione @pmroz , era solo un esempio di due affermazioni.
a volte ho bisogno di due istruzioni per creare un sottocampione (tabella temporanea) o definire una funzione.
nella maggior parte dei casi riesco a utilizzare l'istruzione "With" invece di una tabella temporanea ma non sempre. soprattutto quando l'utilizzo delle istruzioni "With" richiede sottoquery molto complesse che non sono consentite. .
Ri: SQL - non è possibile inserire più comandi nell'istruzione preparataQuesto approccio potrebbe aiutare:
Chiama una procedura PL/SQL che esegue la query super complessa e crea una tabella temporanea.
Quindi seleziona * dalla tabella temporanea.
Ecco un codice che fa qualcosa del genere:
event_sql = evalinsert(
"DECLARE
l_proc_name VARCHAR2 (100) := 'Get_Reference_PTs';
l_user_SID NUMBER := SYS_CONTEXT('USERENV', 'SID');
l_user_name VARCHAR2 (30) := UPPER(SYS_CONTEXT('USERENV', 'OS_USER'));
BEGIN
INSERT INTO quality_attrib (SID, OS_USER, Completion_Time, Progress_Text)
VALUES (l_user_SID, l_user_name, SYSTIMESTAMP, 'START Get_Reference_PTs');
COMMIT;
INSERT INTO Ref_PT_List (SID, OS_USER, PT_Name)
(SELECT DISTINCT l_user_SID, l_user_name, mu.pt_name
FROM info ci,
drug cd,
reaction cr,
meddra_uta mu,
WHERE cd.case_id = ci.case_id
AND cr.case_id = ci.case_id
AND cr.reported_meddra_uta_id = mu.meddra_uta_id
AND cd.cdd_generic_id = rd.cdd_generic_id
AND ci.report_type_code_id = 8
AND rd.calendar_id = ^one_calendar_id^
AND cd.drug_character_code_id IN (31, 32)
^pt_clause^
^date_clause^
^event_type_clause^
);
COMMIT;
INSERT INTO quality_attrib (SID, OS_USER, Completion_Time, Progress_Text)
VALUES (l_user_SID, l_user_name, SYSTIMESTAMP, 'END Get_Reference_PTs');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
log_error_message(SQLCODE, SQLERRM, l_proc_name);
END; ");
Execute SQL(dbc, event_sql);
Execute SQL(dbc, "select * from ref_pt_list");Ri: SQL - non è possibile inserire più comandi nell'istruzione preparataGrazie mille @pmroz
dividere le due istruzioni in istruzioni Execute SQL separate funziona perfettamente.
SQL: non è possibile inserire più comandi nell'istruzione preparatacari membri del forum,
quando utilizzo jmp per interrogare amazon redshift devo inviare due istruzioni insieme ma per qualche motivo ottengo un errore che dice:
sfortunatamente, la mia query è molto elaborata e non funziona solo con un'istruzione "Where" per ogni tabella separata.
se qualcuno ha idea di come superare questo problema sarebbe utile.
Grazie

Modellazione statistica avanzataConsumatori e ricerche di mercatoAccesso ai datiProgettazione di esperimentiPersonalizzazione di massa