Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
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


Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Sovranità sui dati: AWS è ...
Il nuovo nome della distro Linux mobile ...
Due ventole da 220 mm e non solo: Cooler...
Truffa telefonica via Google Ads: il bro...
Google pensiona le Gems di Gemini: cosa ...
Flight 14: incertezza per un problema a ...
C'è un problema con i robot Tesla: i dip...
Raggi gamma anomali dalla Via Lattea sve...
NIO vende il 30% della divisione scambio...
Sony brevetta un DualSense capace di acc...
Un volto per l'assistenza IA: cosa pu&og...
NVIDIA autorizza un buyback da 150 milia...
Come il T-1000 di Terminator 2: circuiti...
Cloudflare: risolto il bug di memoria ch...
Lunex spegne gli antivirus con un driver...
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: 17:03.


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