Questa sezione ha un titolo un po' ingannevole; in quanto non c'è possibilità di comparazione tra il PL/SQL di Oracle 8i ed il T-SQL di Microsoft SQL Server... sarebbe come cercare di paragonare una Ferrari ad una Cinquecento (per quanto a me piace particolarmente la cinquecento).
Ad ogni modo, qualche piccola indicazione può essere utile:
1) In Microsoft SQL Server si possono caricare i dati in una tabella a partire dai valori restituiti da una stored procedure (a condizione che la quantita di parametri restituiti coincida con la quantita di campi inseriti): INSERT INTO tab_pippo sp_pippo Questo non è possibile in Oracle
2) La creazione di tabelle a partire di un'altra si fa con sintassi differente:
in Oracle: CREATE TABLE nuovatabella AS SELECT .... FROM vecchiatabella In Microsoft SQL Server: SELECT ... INTO nuovatabella FROM vecchiatabella
3) Per avere solo una certa quantità di righe come risultato di una query, si usano differenti metodi:
in Oracle: si usa ROWNUM SELECT .... FROM vecchiatabella WHERE ROWNUM < numero Bisogna considerare che questo approccio non sempre funziona con ORDER BY
In Microsoft SQL Server: si usa il comando TOP SELECT TOP numero ... INTO nuovatabella FROM vecchiatabella
4) Per inviare un e-mail dal database:
in Oracle: In Microsoft SQL Server: usando la stored procedure estesa xp_sendmail.
5) Mentre in Microsoft SQL Server, una sintassi del tipo SELECT 2+2 è corretta, in Oracle si avrebbe una segnalazione di errore ORA-00923 (mancanza di FROM). Per evitare questo problema, viene usata la tabella DUAL che il sistema crea automaticamente; in questo modo: SELECT 2+2 FROM DUAL.