DATAPARTITIONNUM funzione scalare

La funzione DATAPARTITIONNUM restituisce il numero di sequenza (SYSDATAPARTITIONS.SEQNO) della partizione di dati in cui risiede la riga.

Read syntax diagramSkip visual syntax diagramDATAPARTITIONNUM(column-name )

Lo schema è SYSIBM.

Nome colonna
Il nome qualificato o squalificato di qualsiasi colonna della tabella. Poiché le informazioni di livello di riga vengono restituite, il risultato è lo stesso indipendentemente da quale colonna viene specificata. La colonna può avere qualsiasi tipo di dato.

Se la colonna è una colonna di una vista, l'espressione per la colonna nella vista deve far riferimento ad una colonna della tabella base sottostante e la vista deve essere deletata. Un'espressione di tabella nidificata o comune segue le stesse regole di una vista.

Risultato

Il tipo di dati del risultato è INTERO e non è mai nullo.

Le partizioni dei dati sono ordinate per intervallo e i numeri di sequenza iniziano a 0. Ad esempio, la funzione DATAPARTITIONNUM restituisce 0 per una riga che risiede nella partizione dati con l'intervallo più basso.

Note

  • Questa funzione non può essere utilizzata come funzione di origine quando si crea una funzione definita dall'utente. Poiché la funzione accetta qualsiasi tipo di dato come argomento, non è necessario creare firme aggiuntive per supportare tipi distinti definiti dall'utente.
  • La funzione DATAPARTITIONNUM non può essere utilizzata all'interno dei vincoli di controllo o nella definizione delle colonne generate (SQLSTATE 42881). La funzione DATAPARTITIONNUM non può essere utilizzata in una definizione MQT (materialized query table) (SQLSTATE 428EC).
  • La funzione DATAPARTITIONNUM non può essere utilizzata come parte di una chiave di espressione in un'istruzione CREATE INDEX.

Esempi

  • Esempio 1: richiamare il numero di sequenza della partizione di dati in cui la riga per EMPLOYEE.EMPNO risiede.
       SELECT DATAPARTITIONNUM (EMPNO)
       FROM EMPLOYEE
  • Esempio 2: Per convertire un numero di sequenza restituito da DATAPARTITIONNUM (ad esempio 0) a un nome di partizione dati che può essere utilizzato in altre istruzioni SQL (come ALTER TABLE ...DETACH PARTITION), è possibile interrogare il SYSCAT SYSCAT.DATAPARTITIONS . Includere il SEQNO ottenuto da DATAPARTITIONNUM nella clausola WHERE, come mostrato nel seguente esempio.
       SELECT DATAPARTITIONNAME
       FROM SYSCAT.DATAPARTITIONS
       WHERE TABNAME = 'EMPLOYEE' AND SEQNO = 0
    risultati nel valore 'PART0'.