Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-03-2007, 15:04   #1
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
[PL/SQL] Matrice VARCHAR2

Ho fatto una procedura che prende a blocchi di n records alla volta
dove n é passato come parametro e per adesso stampa a video.
Dovrei invece copiare i valori ottenuti in una matrice passata sempre
come parametro. Si puó ?

Codice:
SET SERVEROUTPUT ON SIZE 1000000

CREATE OR REPLACE PROCEDURE MY_PROC( n IN number )
AS
   c     NUMBER;
   d     NUMBER;
   n_tab DBMS_SQL.varchar2_Table;
   indx  NUMBER := 1;

BEGIN

   c := DBMS_SQL.OPEN_CURSOR;

   DBMS_SQL.PARSE(c, 'select distinct SS from MY_TABLE order by SS', 1);

   DBMS_SQL.DEFINE_ARRAY(c, 1, n_tab, n, indx);

   d := DBMS_SQL.EXECUTE(c);

   LOOP
      d := DBMS_SQL.FETCH_ROWS(c);

      DBMS_SQL.COLUMN_VALUE(c, 1, n_tab);

      FOR i in n_tab.FIRST .. n_tab.LAST
      LOOP
         DBMS_OUTPUT.PUT_LINE(n_tab(i));
         -- QUI ANDREBBERO COPIATI I VALORI IN MATRICE
      END LOOP;

      EXIT WHEN d != n;
   END LOOP;

   DBMS_SQL.CLOSE_CURSOR(c);

   EXCEPTION
      WHEN OTHERS THEN
         IF dbms_sql.is_open(c) THEN
            DBMS_SQL.CLOSE_CURSOR(c);
         END IF;
END;
/
grazie
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2007, 15:45   #2
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
trovato:
TYPE NUM_ARRAY IS TABLE OF VARCHAR2(n);
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2007, 15:53   #3
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da trallallero Guarda i messaggi
trovato:
TYPE NUM_ARRAY IS TABLE OF VARCHAR2(n);
Così non è una matrice. O meglio, è una matrice 1xN di varchar2(n).

Così a occhio eh...però forse non ho ben capito...
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2007, 17:24   #4
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da shinya Guarda i messaggi
Così non è una matrice. O meglio, è una matrice 1xN di varchar2(n).

Così a occhio eh...però forse non ho ben capito...
mi sa che hai ragione perchè mi riempie solo il primo elemento. Ormai sto a casa ma domani mi sa che ho bisogno di aiuto
Grazie
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2007, 07:36   #5
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
eccolo:
Codice:
TYPE NUM_ARRAY   IS TABLE OF VARCHAR2(3) INDEX BY BINARY_INTEGER;
il (3) corrisponde alla larghezza della stringa e 3 mi basta.
Per dire che é una matrice basta aggiungere alla fine INDEX BY BINARY_INTEGER
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2007, 12:36   #6
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da trallallero Guarda i messaggi
eccolo:
Codice:
TYPE NUM_ARRAY   IS TABLE OF VARCHAR2(3) INDEX BY BINARY_INTEGER;
il (3) corrisponde alla larghezza della stringa e 3 mi basta.
Per dire che é una matrice basta aggiungere alla fine INDEX BY BINARY_INTEGER
Se metti index by binary_integer ( o pls_integer ) hai un "array" associativo. Se ti va bene puoi usare anche quello in effetti.
Per avere una matrice vera e propria dovresti fare qualcosa tipo:

Codice:
type t_columns is table of varchar2(3);
type t_matrix is table of t_columns;

my_matrix t_matrix;
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2007, 13:13   #7
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da shinya Guarda i messaggi
Se metti index by binary_integer ( o pls_integer ) hai un "array" associativo. Se ti va bene puoi usare anche quello in effetti.
Per avere una matrice vera e propria dovresti fare qualcosa tipo:

Codice:
type t_columns is table of varchar2(3);
type t_matrix is table of t_columns;

my_matrix t_matrix;
non l'ho capita
varchar2 é giá un array quindi dicendo TABLE OF diventa un array di array = matrice, a intuito ovviamente.
Tu invece fai un doppio passaggio, perché ?
Comunque grazie
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Xiaomi 15T e 15T Pro con fotocamere by L...
3 portatili un super sconto: 355€ con 16...
Il nuovo iPhone pieghevole costerà...
MediaTek Dimensity 9500 sfida lo Snapdra...
Nuovo storico lancio per il razzo spazia...
Elgato Embrace: una sedia ergonomica pro...
Brad Pitt torna in pista: F1 – Il Film a...
Hitachi Vantara annuncia la sua AI Facto...
Brembo passa all'alluminio riciclato al ...
HONOR pronta a sfidare gli iPad Pro con ...
OpenAI esce allo scoperto: confermati i ...
In arrivo altri due prodotti da Apple en...
Il tool per aggiornare da Windows 10 a W...
Rishi Sunak entra in Microsoft e Anthrop...
Porsche in poche ore chiude la formazion...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v