Programowanie obiektów



Podobne dokumenty
41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Wykład :45 BD-1 W_3

Administracja i programowanie pod Microsoft SQL Server 2000

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Autor: Joanna Karwowska

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Relacyjne bazy danych. Podstawy SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Paweł Rajba

Bazy danych. dr inż. Arkadiusz Mirakowski

CREATE USER

Administracja i programowanie pod Microsoft SQL Server 2000

Wykład 8. SQL praca z tabelami 5

Relacyjne bazy danych. Podstawy SQL

Wykład 05 Bazy danych

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Komunikacja z bazą danych psql

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Bazy Danych i Usługi Sieciowe

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Fizyczna struktura bazy danych w SQL Serwerze

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Uprawnienia, role, synonimy

Paweł Rajba

Administracja i programowanie pod Microsoft SQL Server 2000

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Instalacja MySQL.

Bazy danych i usługi sieciowe

Język SQL, zajęcia nr 1

Bazy danych 6. Klucze obce. P. F. Góra

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

Podstawy technologii WWW

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Bloki anonimowe w PL/SQL

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 4. SQL praca z tabelami 1

Microsoft SQL Server Podstawy T-SQL

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Wykład 5. SQL praca z tabelami 2

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Język SQL, zajęcia nr 2

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Praca w programie dodawanie pisma.

Bazy danych 10. SQL Widoki

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Oracle PL/SQL. Paweł Rajba.

Bazy danych. Polecenia SQL

Oracle PL/SQL. Paweł Rajba.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Administracja i programowanie pod Microsoft SQL Server 2000

Paweł Cieśla. Dokumentacja projektu

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu

Tworzenie baz danych i tabel

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Projektowanie systemów baz danych

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Wykład 6. SQL praca z tabelami 3

Przykładowa baza danych BIBLIOTEKA

Ćwiczenie 4. Użytkownicy

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

SQL (ang. Structured Query Language)

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Struktura drzewa w MySQL. Michał Tyszczenko

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Bazy danych - Materiały do laboratoriów VIII

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Aspekty aktywne baz danych

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Cele. Definiowanie wyzwalaczy

Przypisywanie bibliotek w architekturze SAS

Administracja i programowanie pod Microsoft SQL Server 2000

Bazy danych Ćwiczenia projektowe

SQL Server. Odtwarzanie baz danych.

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Oracle PL/SQL. Paweł Rajba.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Systemowe aspekty baz

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

Programowanie w Ruby

Transkrypt:

Programowanie obiektów lokalne tabele tymczasowe, globalne tabele tymczasowe, zmienne lokalne, zmienne globalne przypisane wartości zmiennym 1

T-SQL Transact SQL (T-SQL), tak jak inne języki programoawania posiada mechanizm tworzenia procedur. Cechy procedur: tworzenie obiektów tymczasowych, przekazywanie określonych wartości do i z procedur. 2

Tabela tymczasowa Tabela tymczasowa zbudowana jest tak samo jak zwykła tabela, ale jest ona automatycznie usuwana po zakończeniu pracy z SQL Serverem. Tworzenie tabel tymczasowych z punktu widzenia zasobów Servera jest bardzo kosztowne. Tworzenie tabele tymczasowych polecenie CREATE TABLE lub SELECT INTO. Nazwa tabeli jest poprzedzona znakiem # (tabela lokalna) lub ## (tabela globalna). W poleceniu tabeli tymczasowej nie można używać klauzuli definiującej klucze obce (FOREGIN KEY) pozostałe klauzule łącznie z CHECK są dostępne. Tabelę tymczasowa można usunąć tylko poleceniem DROPE TABELE wykonanym z poziomu połączenia tworzącego. Lokalizacja tabeli tymczasowej tempdb - w systemowej bazie danych 3

Tabela tymczasowa Przykład tworzenia lokalnej tabeli tymczasowej. CREATE TABLE #TabTymcz (Klucz INT PRIMARY KEY, Wartość CHAR (20)) Lokalne tabele tymczasowe widoczne są tylko w połączeniu w którym je utworzono. Do globalnych tabel tymczasowych mają dostęp wszyscy użytkownicy, ale tylko tak długo jak długo połączony jest z SQL Serwerem jej twórca. 4

Tabele tymczasowe Wstaw do relacji #TabTymcz wiersz klucz=1, wartość = wartość pierwsza. Wyświetl zawartość tabeli #TabTymcz. Przykład Utwórz lokalną tabelę tymczasową w której będą przepisane wartość (nazwaolejku, nazwalacinska,idolejku) z relacji olejki. SELECT INTO FROM NazwaOlejku, NazwaLacinska,idolejku #TabelaLokalna Olejki Wyświetl zawartość relacji TabelaLokalna 5

Przykład Tabele tymczasowe Utwórz tabelę globalną o nazwie TabelaGlobalna...(w miejsce kropek wpisz numer komputera) do której z tabeli olejki przepisz nazwaolejki, nazwalacinska. SELECT INTO FROM NazwaOlejku, NazwaLacinska ##TabelaGlobalna Olejki 6

Zmienne Zmienne są identyfikowane za pomocą przyrostka @ - zmienne lokalne i @@ - zmienne globalne. Zmienne lokalne są definiowane przez użytkownika, zmienne globalne stanowią część środowiska programu SQL Server i nie mogą być tworzone przez użytkowników. Składnia instrukcji DECLARE DECLARE @zmienna_lokalna 1 typ_danych,..., zmienna_lokalna n typ_danych Typem danych nie może być txte, ntext, image. DECLARE @zmienna_lokalna TABLE ((definicja_tabeli)) Definicja_tabeli jest identyczna z CREATE TABLE, ale nie mogą w niej występować ograniczenia PRIMARY KEY, UNIQUE KEY, NULL, CHECK 7

Zmienne lokalne Początkową wartością zmiennej lokalnej jest NULL. Przypisanie wartości zmiennej: poleceniem SET z wartością stałą lub wyrażeniem, DECLARE @limit numeric (19,2) SET @limit = 35 SELECT * FROM olejkiceny WHERE cena>@limit poleceniem SELECT z wartością stałą lub wyrażeniem, DECLARE @cena_min numeric (19,2),--deklaracja zmiennych @cena_max numeric (19,2) SELECT @cena_min=min(cena), @cena_max=max(cena) FROM olejkiceny --przypisanie wartości SELECT @cena_min as min, @cena_max as max --zwrócenie jako zestwa wynikowy 8

Zmienne lokalne poleceniem INSERT INTO ze zmienną typu tabelowego -- Utworzenie zmiennej lokalnej typu tabelowego DECLARE@lokalnaTab TABLE (NazwaOlejku char(50), NazwaLacinska char(50)) -- Utworzenie wierszy za pomocą instrukcji INSERT INSERT INTO @lokalnatab SELECT NazwaOlejku, NazwaLacinska FROM Olejki -- Wyświetlenie wyników SELECT NazwaOlejku, NazwaLacinska FROM @lokalnatab 9

Zmienne globalne Zmienne globalne możemy podzielić na grupy obejmujące funkcje: 1. specyficzne dla połączenia, 2. monitorujące, 3. konfigurujące. 10

Funkcje specyficzne dla połączenia N a z w a f u n k c ji W a r t o ść zw racana @ @ C U R S O R _ R O W S L ic z b a w ie r s z y w y p e ł n ia ją cych ostatni otw arty k u r s o r d la o k r e ś lo n e g o p o łą c z e n ia @ @ D A T E F I R S T P ie r w s z y d z ie ń t y g o d n ia ( 7 - n ie d z ie la, 1 - p o n ie d z ia ł e k ) u s t a w io n y p o le c e n ie m S E T O A T E F I R S T. @ @ D A T E F I R S T K o d b łę d u w y g e n e r o w a n y p r z e z o s t a t n ie w y k o n a n e w s e s ji p o le c e n ie. U ż y w a n a d o k o n t r o li b łę d ó w w p r o c e d u r a c h, w s a d a c h i w y z w a la c z a c h. S t a t u s o s t a t n ie j o p e r a c ji p o b r a n ia r e k o r d u z k u r s o r a @ @ F E T C H _ S T A T U S w o t w a r t e j s e s ji. @ @ I D E N T I T Y @ @ L O C K _ T I M E O U T W a r t o ść id e n t it y w y g e n e r o w a n a d la o s t a t n ie g o d o d a n e g o d o t a b e li r e k o r d u w b ie żącej sesji. Inform ację o o s ta tn ie j w a rto ś ci d o d a n e j w d o w o ln e j s e s ji z w r a c a f u n k c ja I D E N T _ C U R E N T ( ' n a z w a _ t a b e li ' ). A k t u a ln y p o z io m z a g n ie ż d ż e n ia t r a n s a k c ji I d e n t y f ik a t o r ję z y k a a k t u a ln ie u ż y w a n e g o p r z e z @ @ L A N G I D p o łą czenie A k t u a ln y p o z io m z a g n ie ż d ż e n ia p r o c e d u r y z a p a m ię t a n e j lu b w y z w a la c z a. W a ż n e je s t je g o @ @ N E S T L E V E L k o n t r o lo w a n ie p r z y w y w o ł a n ia c h r e k u r s y w n y c h, k t ó r y c h p o z io m n ie m o ż e przekroczyć w a r t o ś ci m a k s y m a ln e j 3 2. @ @ P R O C I D I d e n t y f ik a t o r a k t u a ln ie w y k o n y w a n e j p r o c e d u r y. N a z w a z d a ln e g o s e r w e r a, n a k t ó r y m u r u c h o m io n o @ @ R E M S E R V E R z d a ln ą p r o c e d u r ę. @ @ R O W C O U N T @ @ P I D @ @ T E X T S I Z E @ @ T R A N C O U N T L ic z b a r e k o r d ó w, n a k t ó r y c h o p e r o w a ł o o s t a t n ie p o le c e n ie s e s ji ( p r z e c z y t a n y c h lu b zm odyfikow anych). I d e n t y f ik a t o r a k t u a ln e g o p o łą c z e n ia. M a k s y m a ln a lic z b a b a jt ó w z w r ó c o n y c h p r z e z in s tru k c ję S E L E C T w c z a s ie c z y t a n ia d a n y c h t y p u t e x t lu b im a g e ( u s t a w io n a p o le c e n ie m S E T T E X T S IlE ). A p lik a c ja k lie n ta m o ż e ją z m n ie js z y ć. A k t u a ln y p o z io m z a g n ie ż d ż e n ia t r a n s a k c ji. 11

Nazwa funkcji @@CONNECTIONS @@CPU_BUSY Funkcje monitorujące Wartość zwracana Liczba prób logowania od ostatniego restartu SQL Servera. Liczba jednostek czasu (aktualnie 1/100 s) pracy CPU od ostatniego restartu SQL Servera. @@ IDLE Liczba jednostek czasu (aktualnie 1/100 s) bezczynności CPU od ostatniego restartu SQL Servera. @@IO_BUSY @@PACK_RECEIVED @@PACK SENT @@PACKET_ERRORS @@TOTAL_ERRORS @@TOTAL_READ @@TOTAL_WRITE Liczba jednostek czasu (aktualnie 1/100 s), w których prowadzone były operacje wejściawyjścia, od ostatniego restartu SQL Servera. Liczba odebranych pakietów od ostatniego restartu SQL Servera Liczba wysłanych pakietów od ostatniego restartu SQL Servera. Liczba błędów w czasie wysyłania pakietów od ostatniego restartu SQL Servera Liczba błędów w czasie odbierania pakietów od ostatniego restartu SQL Servera Liczba odczytów z dysku od ostatniego restartu SQL Servera. Liczba zapisów na dysku od ostatniego restartu SQL Servera. 12

Funkcje konfigurujące Nazwa funkcji @@OBTS[ms6] @@MAX_CONECTIONS @@MAX_PRECISION @@MICROSOFTVERSION @@PROCID ID @@SERVERNAME @@SERVICENAME @ @ TIMETICKS @@VERSION Wartość zawracana Wartość ostatniego użytego znacznika czasowego dla aktualnej bazy danych. Nowa wartość jest generowana po dodaniu wiersza do tabeli zawierającej pole tego typu. Maksymalna liczba połączeń użytkowników możliwa do obsłużenia. Nie musi odpowiadać aktualnej wartości tego parametru. Maksymalny poziom precyzji dla typów numerycznych i dziesiętnych. Wewnętrzny numer wersji Microsoft. ID aktualnie wykonywanej procedury zapamiętanej. Nazwa SQL Servera. Powinna odpowiadać nazwie komputera. Jeżeli jednak jej nie odpowiada, można usunąć błędną nazwę serwera, uruchamiając sp _dropserver, po czym dodać nową, korzystając z sp _addserver. Nazwa klucza rejestru, pod którym uruchomiono SQL Server. Zwraca MSSQLServer, jeżeli bieżąca instancja jest instancją domyślną; lub nazwę aktualnie użytkowanej instancji jako instancji nazwanej. Liczba mikrosekund na jednostkę czasową. Numer wersji SQL Servera. 13

Zmienne globalne Przykład SELECT @@SERVERNAME as 'Nazwa', @@VERSION as 'Wersja', @@LANGUAGE as 'Język' 14