Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]

Slides:



Advertisements
Presentazioni simili
1 Le s-espressioni. 2 Un nuovo esempio completo: le s-espressioni Sexpr 4 alberi binari (possibilmente vuoti) che hanno sulle foglie atomi (stringhe)
Advertisements

Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
E Windows SharePoint Services 2.0 Ivan Renesto Overview how to use Windows SharePoint Services.
Un DataBase Management System (DBMS) relazionale client/server.
MySQL Esercitazioni. Ripasso Connessione a MySQL. Creazione delle basi di dati e delle tablelle. Inserimento dei dati. Interrogazioni.
Richiami di Java Multithreading. Threads (subclassing) public class A { public void a_method { C t = new C(); //C t = new C(String name); t.start(); …
1 Ultima Lezione del Corso di Fondamenti di Informatica 1 a.a – 06 Ma 29-Nov-2005.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Application Code Dato Table Data Base Trigger Code 1° Controllo Procedure Client Side 3° Controllo Integrity Constraint 2° Controllo Event Driven BUSINESS.
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
SQL1 Indici elenco di valori di un attributo a ciascuno dei quali è associato lelenco delle posizioni (righe) del valore nella tabella create [unique]
SQL1 Structured Query Language Data Definition Language Data Manipulation Language Evoluzione Sequel IBM (1974) Standardizzazione ANSI/ISO: SQL-89, SQL-
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Gestione File System e I/O in Windows 2000 Implementazione del File System FAT-12, FAT-16, FAT-32 NTFS API relative al File System Gestione dei dispositivi.
Gestione dati DML Statement. DML – Data Manipultion Language Unoperazione DML viene eseguita quando: aggiungendo nuove righe ad una tabella modificando.
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
Constraints.
Componenti dell’architettura Oracle
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
SQL per la definizione di basi di dati SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di.
Ricerca di una chiave: Search(x, k) if x == nil or k == x.key return x
Professional Users. Per poter lavorare sul Dizionario, bisogna registrarsi come Utente Professionale – Professional User (solo.
Modelli di latenza. Non è semplice stabilire quanto tempo serve per ricevere un oggetto da un server remoto dopo aver inviato una richiesta. Anche se.
Microsoft Access Maschere.
Muoversi tra le finestre
Università degli studi di Catania
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Primi passi con Windows: Gestione del Desktop Barra Applicazioni Menu Avvio ISTITUTO COMPRENSIVO N.7 - VIA VIVALDI - IMOLA Via Vivaldi, Imola.
OUTPUT FORMATTATO La funzione printf consente di effettuare la stampa a video formattata. Sintassi: printf ( stringa_formato, arg0, arg1, … ); La stringa.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 6 ARGOMENTI: LAVORARE CON CLASSI METODI DELLISTANZA, COSTRUTTORI.
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
LE RETI E IL DDNS.
Project Review byNight byNight December 6th, 2011.
Attribution-NonCommercial-ShareAlike SQL Server.
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Personalizzazione e porting delle procedure esterne connesse ad Aleph Il caricamento degli utenti della circolazione da files esterni Modifiche introdotte.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review byNight byNight December 6th, 2011.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 5th, 2011.
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
Customer Support Research & Development Come registrarsi ed entrare in......ITRC.
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
Dato Table Data Base Application Code 1° Controllo Procedure Client Side 3° Controllo Integrity Constraint Trigger Code 2° Controllo Event Driven BUSINESS.
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Collection & Generics in Java
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
CREAZIONE UTENTE SU DATATOP. CREAZIONE UTENTE Andate su //datatop.di.unipi.it/webdb Login come utente: webdb password: ****** Administer -> User Manager.
SQL Developer Lanciare sqldeveloper (alias sul desktop) / c:\Oracle\sqldeveloper Associare tutti i tipi di file, se volete Tasto destro sulla spina “connection”
Dynamic SQL.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Transazioni in MySQL 4 Transazioni in MySQL 4
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
SQL per la modifica di basi di dati
Transcript della presentazione:

Sequence

CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE | NOCACHE]; Automaticamente crea numeri sequenziali

CREARE UNA SEQUENCE INCREMENT BY n specifica lintervallo fra i numeri generati dalla sequence (se omesso lincremento è di 1) START WITH n indica il primo numero che verrà generato dalla sequence (se omesso la sequence parte da 1) MAXVALUE n indica il valore massimo che la sequence può generare NOMAXVALUE specifica 10^27 per sequence ascendenti e -1 per sequence discendenti MINVALUE n indica il minimo valore della sequence NOMINVALUE specifica 1 per le sequence ascendenti e -10^26 per sequence discendenti CYCLE | NOCYCLE specifica se la sequence continuerà a generare valori dopo il raggiungimento del massimo o minimo valore CACHE | NOCACHE specifica quanti valori Oracle server prealloca e tiene in memoria (come default Oracle server tiene 20 valori in cache)

CREARE UNA SEQUENCE Creare una sequenza DEPT_DEPTID_SEQ che deve essere usata come chiave primaria della tabella DEPARTMENTS. CREATE SEQUENCE dept_deptid_seq INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCACHE NOCYCLE; Non usare lopzione CYCLE quando si creano valori per la chiave primaria.

CREARE UNA SEQUENCE È possibile controllare i valori della sequence nella tabella USER_SEQUENCES del dizionario dati. SELECT sequence_name, min_value, max_value, increment_by, last_number FROM user_sequence; Il campo LAST_NUMBER visualizza il prossimo numero della sequence disponibile se viene specificata lopzione NOCACHE

NEXTVAL E CURRVAL sono pseudocolonne NEXTVAL restituisce il prossimo valore della sequence. Restituisce un unico valore ogni volta che è richiamata, anche con utenti differenti – sequence.NEXTVAL CURRVAL restituisce il valore corrente della sequence, lultimo valore generato per la sequence – sequence.CURRVAL quando di chiama NEXTVAL viene generato un nuovo numero per la sequence e viene posto nella CURRVAL

Quando usare NEXTVAL e CURRVAL nella SELECT list di uno statement SELECT che non è una subquery o parte di essa nella SELECT list di una subquery quando è in un INSERT nella clausola VALUES di una INSERT nella clausola SET di un UPDATE

Quando NON usare NEXTVAL e CURRVAL nella SELECT list di una vista nella SELECT con la keyword DISTINCT nella SELECT con GROUP BY, HAVING o ORDER BY nelle subquery in SELECT, DELETE, UPDATE statement nellespressione DEFAULT in CREATE TABLE o ALTER TABLE

USARE UNA SEQUENCE INSERT INTO departments (department_id, department_name, location_id) VALUES (dept_deptid_seq.NEXTVAL, Support, 2500); - inserisce nel campo department_id i valori della sequence. SELECT dept_deptid_seq.CURRVAL FROM dual; - visualizza il valore corrente della sequence

USARE UNA SEQUENCE mettere i valori della sequence in cache permette di accedere più velocemente ai valori. La cache viene popolata quando viene fatto il primo accesso alla sequence. Ai successivi riferimenti verrà fatto accesso alla cache. possono verificarsi vuoti nella generazione dei valori quando: - quando viene fatto un rollback di uno statement contente una sequence - il sistema va in crash e vengono persi i valori che la sequence mette in cache - la sequence è usata in unaltra tabella

MODIFICARE UNA SEQUENCE è possibile modificare il valore di incremento, il massimo e minimo valore, lopzione cycle e lopzione cache ALTER SEQUENCE dept_deptid_seq INCREMENT BY 20 MAXVALUE NOCACHE NOCYCLE; Quando si supera il MAXVALUE non verranno creati altri valori e verrà generato un errore che indica che la sequence eccede il MAXVALUE. Per continuare ad usare la sequence occorre quindi modificarla con il comando di ALTER SEQUENCE.

COME MODIFICARE UNA SEQUENCE per modificare una sequence occorre essere il proprietario o avere i privilegi di ALTER per la sequence solo i numeri che verranno generati successivamente saranno affetti dalle modifiche fatte non è possibile modificare il parametro di START WITH, la sequence deve essere cancellata e ricreata per farla ricominciare da un numero differente è possibile fare qualche controllo. Per esempio non è possibile impostare un nuovo MAXVALUE minore del valore corrente

CANCELLARE UNA SEQUENCE DROP SEQUENCE dept_deptid_seq; cancella la sequence dal dizionario dati per cancellare la sequence occorre essere il proprietario o avere il privilegio DROP ANY SEQUENCE