Basi di dati (7) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: stored procedure (1.



Documenti analoghi
SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

ROUTINE E PROGRAMMAZIONE

Capitolo 7. Esercizio 7.1

Basi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: T-SQL (1.

Basi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

DBMS (Data Base Management System)

GERARCHIE RICORSIVE - SQL SERVER 2008

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Access. P a r t e p r i m a

Volumi di riferimento

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

Corso sul linguaggio SQL

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Esercitazione 4 JDBC

Raggruppamenti Conti Movimenti

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

SQL Server. Applicazioni principali

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Oracle PL/SQL. Motivazioni

2104 volume III Programmazione

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Gestione delle tabelle

Basi di Dati Corso di Laura in Informatica Umanistica

19. LA PROGRAMMAZIONE LATO SERVER

Data warehouse in Oracle

Introduzione ai Sistemi di Gestione di Basi di Dati XML

MySQL Database Management System

I parametri passati sono lo username e la password dell utente.

Corso sul linguaggio SQL

PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

Dispensa di database Access

Informatica per le discipline umanistiche 2 lezione 10

Mac Application Manager 1.3 (SOLO PER TIGER)

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

Come trattare il risultato di un comando SQL (relazioni) che

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

e/fiscali - Rel e/fiscali Installazione

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

CONTENT MANAGEMENT SY STEM

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

Capitolo 13. Interrogare una base di dati

SQL Server BI Development Studio

Definizione di domini

Amministrare MySQL con PhpMyAdmin

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Il linguaggio SQL: viste e tabelle derivate

ISTRUZIONI INSTALLAZIONE PMANGO

Al giorno d oggi, i sistemi per la gestione di database

MSSQL2005 PER Il presente documento comprende la procedura di prima installazione di MSSQL (e altre nozioni di base).

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Introduzione al Python

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

Concetto di Funzione e Procedura METODI in Java

Capitolo 4 Pianificazione e Sviluppo di Web Part

EXPLOit Content Management Data Base per documenti SGML/XML

Corso di Amministrazione di Reti A.A. 2002/2003

Microsoft SQL Server

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini

APPENDICE. Procedure in SQL (1)

SQL Server Integration Services. Integration Services Project

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

Allegato n. 13 Linee guida per la formazione e gestione dei fascicoli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

Gestione di un magazzino: sviluppo di un applicazione web-database

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Introduzione ai database relazionali

Progetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web

Corso di Informatica

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Una metodologia di progettazione di applicazioni web centrate sui dati

CONCETTO DI ANNIDAMENTO

Database Manager Guida utente DMAN-IT-01/09/10

Architettura MVC-2: i JavaBeans

L'utilizzo delle strutture dati nella programmazione del PLC in ambiente IEC61131, rende la gestione di attuatori e sensori più intuitiva ed efficace.

Vincoli di Integrità

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Transcript:

Università di Modena e Reggio Emilia Basi di dati (7) Docente: andrea.bulgarelli@gmail.com Argomento: stored procedure (1.0) 1

Panoramica Stored procedure Creazione Chiamata Modifica Eliminazione Esempio clienti/ordini 2

Stored Procedures In SQL server l utente può definire stored procedures e funzioni, che sono globalmente riferite come routines Lo standard SQL non considera allo stesso modo i trigger, che quindi verranno trattati a parte D ora in avanti scriveremo SP per Stored Procedure 3

Creazione di una SP Definizione della SP USE pubs GO CREATE PROC get_author @au_id varchar(11) AS SELECT au_lname, au_fname FROM authors WHERE au_id=@au_id GO Uso della SP EXEC get_author @au_id='172-32-1176' EXEC get_author '172-32-1176' 4

Forma generale CREATE [PROCEDURE] procedure_name [;number] [ {@parameter data_type} [= default] [OUTPUT] ] [,...n] [WITH { RECOMPILE ENCRYPTION RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS sql_statement [...n] 5

Definizione [;number] è un numero che può essere utilizzato per raggruppare le SP in gruppi (con lo stesso nome e numero diverso) per farne un DROP comune @parameter è il nome di un parametro con tipo assegnato (e possibile valore di default) [OUTPUT] indica che il parametro è un valore di output della SP Fino a 1024 parametri possono essere specificati [WITH RECOMPILE] implica che il piano di esecuzione della SP non sarà inserito nella cache del DBMS [WITH ENCRYPTION] richiede la cifratura della descrizione della SP 6

Chiamata CREATE PROC sp_nome @var1 int, @var2 int output AS set @var2 = @var1 GO DECLARE @batchvar1 int EXEC sp_nome 10, @batchvar1 output PRINT @batchvar1 7

8

Dove trovare altri esempi? Andare in un DB (use DB) ed usare la SP sp_helptext Esempio: USE master sp_helptext sp_helptext (per scoprire come è fatta la stessa SP helptext, vedere quali parametri può prendere) 9

Ciclo di vita All atto della prima esecuzione di una nuova SP questa viene compilata in un formato interno eseguibile secondo un piano di esecuzione determinato dalla struttura del DB, dall obiettivo della SP, etc Il compilato viene conservato in una cache di sistema per successivi riusi se alla chiamata le condizioni (struttura, contenuti, codici) non sono cambiate Se il DB cambia in qualche modo, allora le SP vengono marcate per essere ri-compilate alla prima richiesta di esecuzione 10

Modifica E disponibile il comando ALTER PROC per modificare una SP ALTER PROC[EDURE] procedure_name [;number] [ {@parameter data_type } [VARYING] [= default] [OUTPUT] ] [,...n] [WITH { RECOMPILE ENCRYPTION RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS sql_statement [...n] Il motivo d uso principale per questo comando (piuttosto che DROP e poi CREATE) è che modificando con esso la SP non si modificano gli identificativi della SP in quanto oggetto del DB e tutti i riferimenti rimangono intatti 11

Eliminazione Sintassi DROP PROCEDURE nome_proc [, ] 12

SP di sistema Le SP erano un tempo molto usate per l amministrazione del sistema; oggi le interfacce grafiche hanno in buona misura superato questa esigenza Le SP di sistema rimangono invece disponibili per gli interventi sul sistema da parte dei programmi (SP) utente Queste routine sono visibili nel database master, ed è possibile vederne il codice sorgente con sp_helptext Alcune di queste routine non sono documentate ufficialmente, nel qual caso il produttore si riserva il diritto di modificarle in modo incompatibile in release successive del sistema 13

Categorie sp di sistema SP generali di sistema (amministrazione, informazione) sp_helptext, sp_helptrigger, sp_attach_db, sp_lock, sp_help, sp_helpconstraint, sp_recompile, sp_helpindex, sp_who SP di catalogo (elencazione ed esplorazione oggetti) sp_databases, sp_tables, sp_columns, sp_stored_procedures SP di replica Gestione delle repliche dei DB (usate da Enterprise Manager) SP estese SP scritte in linguaggi esterni (e.g. C o C++) ed integrate come parti di SQL server 14

Esempio clienti/ordini 15

16

17

18