In Oracle, è possibile creare una tabella temporanea con qualcosa di simile:SQL Server/Oracle: tabelle temporanee private
CREATE GLOBAL TEMPORARY TABLE temp_table (
field1 NUMBER,
field2 NUMBER
)
ON COMMIT DELETE ROWS;
... che potrebbe essere piuttosto carino, in quanto questo crea una tabella visibile a tutti, ma i dati che si inseriscono nella tabella sono visibili solo a lui o lei. Inoltre, tali dati vengono automaticamente cancellati alla fine della transazione o della sessione (a seconda della sua dichiarazione), lasciando incolumi i dati temporanei di tutti gli altri.
In SQL Server, tuttavia, è possibile creare una tabella temporanea con:
CREATE TABLE #temp_table (field1 INT, field2 INT);
... che, a quanto mi risulta, è sostanzialmente e funzionalmente diversa rispetto implementazione di Oracle. Questa tabella temporanea è visibile solo a te e viene rilasciata (la tabella) immediatamente dopo l'uso.
Esiste una capacità in SQL Server di imitare il comportamento di Oracle come descritto sopra? O l'unico modo per lavorare con i dati temporanei implica dover ripetutamente CREARE la tabella temporanea con ogni iterazione di lavoro?
puoi spiegare perché vorrebbe simulare il comportamento di Oracle in SQLServer? È solo per evitare il requisito di eseguire l'istruzione CREATE TABLE? –
@ Mark ~ beh, questo principalmente. Ma se avevo a che fare con (1) inserimenti ripetitivi di dati temporanei, (2) con generalmente lo stesso formato di dati e campi, (3) ed è unico per l'utente (cioè i dati sono privati di una sessione utente), rende molto di più senso per gestire tutto ciò che in una tabella secondo l'implementazione di Oracle. :) –
[Tabelle temporanee private Oracle] (https://stackoverflow.com/a/48852466/5070879) – lad2025