Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ćwiczenie 1.
- Utwórz funkcję o nazwie napiszImie, która wyświetli w postaci łańcucha znaków twoje imię. Wywołaj
- funkcję za pomocą odpowiedniego polecenia. Usuń funkcję za pomocą odpowiedniego polecenia.
- Ćwiczenie 2.
- Utwórz funkcję o nazwie dodaj pobierającą w postaci parametrów 2 liczby całkowite, która zwróci wynik
- ich dodawania. Funkcja w przypadku, gdy pierwszy parametr będzie większy od 10, powinna przypisać mu
- wartość 10. Wywołaj funkcję za pomocą odpowiedniego polecenia, kolumna z wyświetloną nazwą wyniku
- powinna nazywać się wynik.
- Ćwiczenie 3.
- Zmodyfikuj funkcję z ćwiczenia 2 (ALTER) w taki sposób, aby pobierała tylko jeden parametr i zwracała w
- wyniku SUMę jego kwadratu oraz jego wartości. Wywołaj funkcję za pomocą odpowiedniego polecenia.
- Usuń funkcję za pomocą odpowiedniego polecenia.
- Ćwiczenie 4.
- Utwórz i uruchom funkcję, która pobiera w postaci parametru id klienta i zwraca nazwę miasta, w którym
- mieszka. Kolumna z wyświetloną nazwą wyniku powinna nazywać się miasto. Usuń funkcję za pomocą
- odpowiedniego polecenia.
- Ćwiczenie 5.
- Utwórz i uruchom funkcję, która pobiera w postaci parametru id osoby i zwraca imię i nazwisko osoby oraz
- imię i nazwisko jej szefa oraz id szefa (zastosuj odpowiednie aliasy dla kolumn). Usuń funkcję za pomocą
- odpowiedniego polecenia.
- Ćwiczenie 6.
- Utwórz i uruchom funkcję, która pobierze nazwę działu, zwróci nazwę tego działu ,dane osób: imię,
- nazwisko, które są wzrostu niższego niż 1.70. Usuń funkcję za pomocą odpowiedniego polecenia.
- Ćwiczenie 7.
- Utwórz i uruchom funkcję, która pobiera w postaci parametru nazwę producenta i zwraca nazwę kategorii
- towarów, jakie produkuje oraz liczbę towarów dla każdej z tych kategorii. Usuń funkcję za pomocą
- odpowiedniego polecenia.
- Ćwiczenie 8.
- Utwórz i uruchom funkcję, która pobierze nazwę województwa i zwróci liczbę klientów pochodzących z
- tego województwa. Usuń funkcję za pomocą odpowiedniego polecenia.
- Ćwiczenie 9.
- Utwórz funkcję o nazwie podajDate, która zwróci w postaci łańcucha znakowego bieżąc dzień miesiąca
- oraz poda nazwę dnia tygodnia w języku polskim. (wykorzystaj CASE-WHEN-THEN). Wywołaj funkcję za
- pomocą odpowiedniego polecenia. Usuń funkcję za pomocą odpowiedniego polecenia.
- /* TWORZENIE FUNKCJI SKALARNEJ */
- CREATE FUNCTION dbo.liczbaOsob( @frazaNazwiska VARCHAR(25) ) RETURNS INT
- AS
- BEGIN
- DECLARE @ile INT;
- SELECT @ile = COUNT(idOsoby) FROM Osoby
- WHERE nazwisko LIKE @frazaNazwiska+'%';
- IF (@ile IS NULL) SET @ile = 0;
- RETURN @ile;
- END;
- DECLARE @wyn INT;
- EXEC @wyn = dbo.LiczbaOsob @frazaNazwiska = 'G';
- print @wyn;
- /* ALBO */
- SELECT dbo.liczbaOsob(1.80) AS Wynik;
- GO
- /* MODYFIKACJA FUNKCJI SKALARNEJ */
- ALTER FUNCTION dbo.LiczbaOsob (@wzrost DECIMAL(3,2) ) RETURNS INT
- AS
- BEGIN
- DECLARE @ile INT;
- SELECT @ile = COUNT(idOsoby) FROM Osoby
- WHERE Wzrost > @wzrost
- IF (@ile IS NULL) SET @ile = 0;
- RETURN @ile;
- END;
- /* USUWANIE */
- DROP FUNCTION dbo.liczbaOsob
- /* TWORZENIE FUNKCJI TABLICOWEJ */
- CREATE FUNCTION dbo.pokazMiasta (@fraza VARCHAR(25)) RETURNS @tab TABLE (id INT, nazwa VARCHAR(30))
- AS
- BEGIN
- INSERT INTO @tab SELECT idMIasta, Miasto FROM Miasta WHERE Miasto LIKE @fraza+'%';
- RETURN;
- END;
- GO
- CREATE FUNCTION dbo.pokazMiasta2 (@fraza VARCHAR(25)) RETURNS TABLE
- AS
- RETURN(SELECT idMIasta, Miasto FROM Miasta WHERE Miasto LIKE @fraza+'%');
- GO
- SELECT * FROM dbo.pokazMiasta('Bi') AS Wynik;
- GO
- SELECT * FROM dbo.pokazMiasta2('Go') AS Wynik;
- GO
- Ćw 1
- CREATE FUNCTION dbo.napiszImie() RETURNS VARCHAR(20)
- AS
- BEGIN
- RETURN ('siema');
- END;
- GO
- SELECT dbo.napiszImie();
- DROP FUNCTION dbo.napiszImie;
- Ćw 2
- CREATE FUNCTION dbo.dodaj ( @a INT, @b INT) RETURNS INT
- AS
- BEGIN
- DECLARE @wynik INT;
- SET @wynik = 0;
- IF (@a > 10)
- BEGIN
- SET @wynik = 10;
- END
- ELSE
- BEGIN
- SET @wynik = @a + @b;
- END;
- RETURN @wynik;
- END;
- GO
- SELECT dbo.dodaj (19,8);
- GO
- Ćw 3
- ALTER FUNCTION dbo.dodaj ( @a INT) RETURNS INT
- AS
- BEGIN
- DECLARE @wynik INT;
- SET @wynik = 0;
- SET @wynik = POWER(@a, 2) + POWER(@a, 2);
- RETURN @wynik;
- END;
- GO
- SELECT dbo.dodaj (5);
- GO
- Ćw 4
- CREATE FUNCTION dbo.gdzieMieszka( @id INT) RETURNS VARCHAR(50)
- AS
- BEGIN
- DECLARE @miasto VARCHAR(50);
- SELECT @miasto = m.Miasto FROM Klienci k
- JOIN Miasta m ON m.IdMiasta=k.IdMiasta
- WHERE k.IdKlienta = @id;
- RETURN @miasto;
- END;
- GO
- SELECT dbo.gdzieMieszka (45);
- GO
- DROP FUNCTION dbo.gdzieMieszka;
- ĆW 5
- CREATE FUNCTION dbo.podajSzefa (@idOsoby INT) RETURNS TABLE
- AS
- RETURN SELECT o.Imie AS 'imie osoby',
- o.Nazwisko AS'nazwisko osoby',
- s.Imie AS 'imie szefa',
- s.Nazwisko AS 'nazwisko szefa',
- s.IdSzefa AS 'id szefa' FROM Osoby o
- JOIN Osoby s ON s.idOsoby = o.IdSzefa
- WHERE o.IdOsoby = @idOsoby;
- GO
- SELECT * FROM dbo.podajSzefa(17);
- GO
- DROP FUNCTION dbo.podajSzefa;
- Ćw. 6
- CREATE FUNCTION osobyDzial (@nazwaDzialu VARCHAR(20))
- TU BI KONTINUED...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement