Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ora che Mary può accedere al database TestData , è possibile creare alcuni oggetti di database, ad esempio una vista e una stored procedure, quindi concedere a Mary l'accesso. Una vista è un'istruzione SELECT archiviata e una stored procedure è una o più istruzioni Transact-SQL eseguite come batch.
Le viste vengono sottoposte a query come tabelle e non accettano parametri. Le stored procedure sono più complesse delle viste. Le stored procedure possono avere parametri di input e output e possono contenere istruzioni per controllare il flusso del codice, ad esempio istruzioni IF e WHILE. È consigliabile usare stored procedure per tutte le azioni ripetitive nel database.
Per questo esempio si userà CREATE VIEW per creare una vista che seleziona solo due delle colonne nella tabella Products . Si userà quindi CREATE PROCEDURE per creare una stored procedure che accetta un parametro price e restituisce solo i prodotti che costano meno del valore del parametro specificato.
Per creare una visualizzazione
Eseguire l'istruzione seguente per creare una visualizzazione molto semplice che esegue un'istruzione select e restituisce i nomi e i prezzi dei prodotti all'utente.
CREATE VIEW vw_Names AS SELECT ProductName, Price FROM Products; GO
Testare la visualizzazione
Le viste vengono trattate esattamente come le tabelle. Usare un'istruzione
SELECTper accedere a una visualizzazione.SELECT * FROM vw_Names; GO
Per creare una stored procedure
L'istruzione seguente crea una stored procedure di nome
pr_Namese accetta un parametro di input denominato@VarPricedi tipomoney. La stored procedure stampa l'istruzioneProducts less thanconcatenata con il parametro di input che viene modificato dal tipo di datimoneya un tipo di dati caratterevarchar(10). La routine esegue quindi un'istruzioneSELECTnella vista, passando il parametro di input come parte dellaWHEREclausola . Restituisce tutti i prodotti che costano meno del valore del parametro di input.CREATE PROCEDURE pr_Names @VarPrice money AS BEGIN -- The print statement returns text to the user PRINT 'Products less than ' + CAST(@VarPrice AS varchar(10)); -- A second statement starts here SELECT ProductName, Price FROM vw_Names WHERE Price < @varPrice; END GO
Testare la procedura memorizzata
Per testare la stored procedure, digitare ed eseguire l'istruzione seguente. La procedura deve restituire i nomi dei due prodotti immessi nella
Productstabella della lezione 1 con un prezzo minore di10.00.EXECUTE pr_Names 10.00; GO
Attività successiva nella lezione
Concessione dell'accesso a un oggetto di database