1. Dichiarare variabili:
- Variabili definite dall'utente: Usa il simbolo `@` seguito dal nome della variabile. Queste variabili sono specifiche della sessione.
`` `sql
SET @MY_VARABLE ='qualche valore';
`` `
- Variabili locali: Dichiarato all'interno di procedure o funzioni memorizzate utilizzando la parola chiave `dichiara". Questi hanno un ambito limitato.
`` `sql
Crea procedura my_procedure ()
INIZIO
Dichiarare totali_orders int;
- ... resto della procedura
FINE;
`` `
2. Assegnazione dei valori alle variabili:
- usando `set`:
`` `sql
Set @user_id =123;
`` `
- da una query selezionata:
`` `sql
Seleziona Count (*) in @Total_Products dai prodotti;
`` `
- all'interno di una procedura o funzione memorizzata:
`` `sql
Dichiarare prodotto_name varchar (255);
Selezionare il nome in Product_Name dai prodotti dove id =1;
`` `
3. Usando le variabili nelle query:
- in dove clausole:
`` `sql
Seleziona * dagli utenti dove id =@user_id;
`` `
- in elenchi selezionati:
`` `sql
Seleziona nome, @discount_percentage * prezzo come scontate_price dai prodotti;
`` `
- In Insert, Aggiorna ed Elimina le istruzioni:
`` `sql
Aggiorna i prodotti Imposta prezzo =@new_price dove id =@product_id;
`` `
Esempio:
Supponiamo che tu voglia trovare tutti gli ordini effettuati da un utente con un ID utente specifico e calcolare il valore dell'ordine totale:
`` `sql
- Imposta l'ID utente
Set @user_id =1;
- Calcola il valore totale dell'ordine per l'utente
SELEZIONARE
o.order_id,
Somma (oi.Quantity * p.price) come total_order_value
Dagli ordini o
Join order_items oi su o.order_id =oi.order_id
Unisciti Prodotti P su oi.product_id =p.id
Dove o.user_id =@user_id
Gruppo di O.order_id;
`` `
Questa query imposta per primo la variabile@@user_id` su 1. Quindi, utilizza questa variabile nella clausola Where per filtrare gli ordini effettuati dall'utente con ID 1.
Punti chiave:
-Le variabili definite dall'utente sono specifiche della sessione e i loro valori vengono persi alla fine della sessione.
- Le variabili locali sono accessibili solo nella procedura o nella funzione memorizzata in cui sono dichiarate.
- Evitare l'utilizzo degli stessi nomi delle variabili per le variabili definite dall'utente e locali per prevenire comportamenti imprevisti.
- Usa le variabili con giudizio per migliorare la leggibilità e la riusabilità delle query.
Programmazione © www.354353.com