logo

Procedury składowane SQL

Procedura składowana w języku SQL to grupa zapytań SQL, które można zapisywać i wielokrotnie wykorzystywać. Jest to bardzo przydatne, ponieważ zmniejsza potrzebę przepisywania zapytań SQL. Zwiększa wydajność, możliwość ponownego użycia i bezpieczeństwo w zarządzaniu bazami danych.

kolekcje w Javie

Użytkownicy mogą również przekazywać parametry do procedur składowanych, dzięki czemu procedura składowana może działać na przekazanych wartościach parametrów.

Procedury składowane są tworzone w celu wykonania jednego lub więcej DML operacji na bazie danych. To nic innego jak grupa Instrukcje SQL który akceptuje dane wejściowe w postaci parametrów, wykonuje pewne zadanie i może, ale nie musi, zwracać wartość.



Składnia

Dwie ważne składnie korzystania z procedur składowanych w SQL to:

Składnia tworzenia procedury składowanej

UTWÓRZ PROCEDUrę nazwa_procedury
(typ_danych parametru 1, typ_danych parametru 2, …)
JAK
ZACZYNAĆ
— Instrukcje SQL, które mają zostać wykonane
KONIEC

czym jest struktura w strukturze danych

Składnia wykonania procedury składowanej

EXEC nazwa_procedury parametr1wartość,parametr2wartość, ..

Parametr

Najważniejszą częścią są parametry. Parametry służą do przekazywania wartości do procedury. Istnieją różne typy parametrów, które są następujące:

  1. ZACZYNAĆ: To jest to, co wykonuje się bezpośrednio lub możemy powiedzieć, że jest to część wykonywalna.
  2. KONIEC: Do tego czasu kod zostanie wykonany.

Przykład procedury składowanej SQL

Spójrzmy na przykład procedury składowanej w SQL, aby lepiej ją zrozumieć.

Wyobraź sobie bazę danych o nazwie SampleDB, tabelę o nazwie Klienci zawierającą przykładowe dane i procedurę składowaną o nazwie GetCustomersByCountry.

Procedura składowana przyjmuje parametr Kraj i zwraca listę klientów z tabeli Klienci, która odpowiada określonemu krajowi. Na koniec wykonywana jest procedura składowana z parametrem Sri Lanka w celu pobrania listy klientów ze Sri Lanki.

Zapytanie:

-- Create a new database named 'SampleDB' CREATE DATABASE SampleDB;  -- Switch to the new database USE SampleDB;  -- Create a new table named 'Customers' CREATE TABLE Customers (  CustomerID INT PRIMARY KEY,  CustomerName VARCHAR(50),  ContactName VARCHAR(50),  Country VARCHAR(50) );  -- Insert some sample data into the Customers table INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country) VALUES (1, 'Shubham', 'Thakur', 'India'),  (2, 'Aman ', 'Chopra', 'Australia'),  (3, 'Naveen', 'Tulasi', 'Sri lanka'),  (4, 'Aditya', 'Arpan', 'Austria'),  (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain');  -- Create a stored procedure named 'GetCustomersByCountry' CREATE PROCEDURE GetCustomersByCountry  @Country VARCHAR(50) AS BEGIN  SELECT CustomerName, ContactName  FROM Customers  WHERE Country = @Country; END;  -- Execute the stored procedure with parameter 'Sri lanka' EXEC GetCustomersByCountry @Country = 'Sri lanka';>

Notatka: Musisz upewnić się, że konto użytkownika ma niezbędne uprawnienia do utworzenia bazy danych. Możesz spróbować zalogować się jako inny użytkownik z uprawnieniami administracyjnymi lub skontaktować się z administratorem bazy danych w celu nadania niezbędnych uprawnień Twojemu kontu użytkownika. Jeśli korzystasz z usługi bazy danych w chmurze, upewnij się, że poprawnie skonfigurowałeś konto użytkownika i jego uprawnienia.

xor c++

Wyjście:

Nazwa klienta Nazwa Kontaktu
Naveen Tulasi

Ważne punkty dotyczące procedur składowanych SQL

  • Procedura składowana to przygotowany kod SQL, który można zapisać, aby można go było używać wielokrotnie.
  • Procedury składowane umożliwiają zapisanie wielokrotnie używanego kodu w bazie danych i uruchomienie go z niej, a nie z klienta. Zapewnia to bardziej modułowe podejście do projektowania baz danych.
  • Ponieważ procedury składowane są kompilowane i przechowywane w bazie danych, są one bardzo wydajne. SQL Server kompiluje każdą procedurę składowaną raz, a następnie ponownie wykorzystuje plan wykonania. Prowadzi to do ogromnego wzrostu wydajności, gdy procedury składowane są wywoływane wielokrotnie.
  • Procedury składowane zapewniają większe bezpieczeństwo danych. Użytkownicy mogą wykonać procedurę składowaną bez konieczności bezpośredniego wykonywania jakichkolwiek instrukcji. W związku z tym użytkownikowi można udzielić pozwolenia na wykonanie procedury składowanej bez posiadania jakichkolwiek uprawnień do tabel źródłowych.
  • Procedury składowane mogą zmniejszyć ruch sieciowy i opóźnienia, zwiększając wydajność aplikacji. Pojedyncze wywołanie procedury składowanej może wykonać wiele instrukcji.
  • Procedury składowane mają lepszą obsługę obsługi błędów.
  • Procedur składowanych można używać do zapewniania zaawansowanych funkcji bazy danych, takich jak modyfikowanie danych w tabelach i hermetyzacja tych zmian w transakcjach bazy danych.