pl sql data types variables
Tento výukový program podrobně vysvětluje, jaké jsou PL SQL datové typy, proměnné, konstanty a literály, pomocí příkladů programování:
V předchozím výukovém programu Série PL / SQL , jsme se seznámili s PL / SQL s jeho funkcemi a základní syntaxí s příklady.
V tomto článku probereme různé datové typy, které PL / SQL podporuje. Rovněž prozkoumáme proměnné a konstanty, které se značně používají v PL SQL.
Důležité jsou také literály PL / SQL, o kterých se dozvíme v tomto tutoriálu spolu s jeho praktickým využitím.
Co se naučíte:
Pl SQL datové typy
Všechny proměnné, konstanty, parametry PL / SQL mají určitý datový typ, který definuje jeho rozsah hodnot, omezení a formát, ve kterém jsou uloženy. PL / SQL obsahuje datové typy jako Large Object, známé také jako LOB, Scalar, Reference a Composite.
Skalární datové typy
Pojďme nejprve diskutovat o skalárních datových typech, které se skládají z následujících:
- NUMERICKÉ datové typy, které se zabývají hodnotami, na nichž se provádějí matematické operace.
- BOOLEAN datové typy, které se zabývají hodnotami, na nichž jsou prováděny logické operace.
- CHARAKTER datové typy, které se zabývají hodnotami skládajícími se z alfanumerických.
- ČAS SCHŮZKY typy dat.
Číselné datové typy
Numerický datový typ PL / SQL se skládá z následujících položek:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DESETINNÝ
- NUMERICKÉ
- ČÍSLO
- PLOVÁK
- INT
- CELÉ ČÍSLO
- DVOJNÁSOBNÁ PŘESNOST
- NEMOVITÝ
- SMALLINT
- DEC
Úryvek kódu s číselnými datovými typy:
DECLARE numA INTEGER := 10; numB NUMBER(10) := 10.8; numC DOUBLE PRECISION := 10.6; BEGIN dbms_output.put_line('The numA is: ' || numA); dbms_output.put_line('The numB is: ' || numB); dbms_output.put_line('The numC is: ' || numC); END; /
Ve výše uvedeném kódu máme datové typy INTEGER, NUMBER a DOUBLE PRECISION s proměnnými numA, numB a numC. numB má datový typ čísla s přesností 10 a nemá žádné číslice za desetinnou čárkou.
Výstup z výše uvedeného kódu by měl být:
Znakové datové typy
Znakové datové typy PL / SQL se skládají z následujících, jak je uvedeno níže:
# 1) VARCHAR2: Tento datový typ uloží řetězec, ale délka řetězce není v době deklarace pevná. Varchar2 má maximální velikost až 32767 bajtů. Maximální šířka sloupce databáze varchar2 je 4000 bajtů.
Syntax:
test VARCHAR2 (20): = ‚SoftwareTest ';
# 2) CHAR: Tento datový typ uloží řetězec, ale délka řetězce je pevná v době deklarace. Znak má maximální velikost až 32767 bajtů. Maximální šířka sloupce databáze char je 2 000 bajtů.
Syntax:
test CHAR2 (20): = ‚SoftwareTest ';
# 3) NCHAR: Toto je podobné jako CHAR, ale uloží se pouze národní znaková sada. NCHAR má maximální velikost až 32767 bajtů. Maximální šířka sloupce databáze NCHAR je 2000 bajtů.
Syntax:
test NCHAR2 (20);
# 4) DLOUHÉ: Tím se uloží řetězce znaků s proměnnou délkou. Délka má maximální velikost až 32760 bajtů.
Syntax:
test LONG;
# 5) DLOUHÁ ŘADA: Tím se uloží data v binárním formátu nebo v bajtových řetězcích. Dlouhý řádek má maximální velikost až 32760 bajtů.
mysql rozhovor otázky a odpovědi na 3 roky zkušeností
Syntax:
test LOW ROW;
# 6) ROWID: Jedná se o fyzické identifikátory řádku, který ukazuje na adresu řádku v normální tabulce.
# 7) UROWID: Jedná se o univerzální identifikátory řádků.
# 8) NVARCHAR2: Toto je podobné jako u VARCHAR2, ale uloží se pouze národní znaková sada. Maximální šířka sloupce databáze nvarchar2 je 4000 bajtů.
# 9) VARCHAR: Je to podobné jako u VARCHAR2.
Syntax:
test VARCHAR2 (20): = ‚SoftwareTest ';
Pojďme nyní diskutovat o datových typech znaků PL / SQL v tabulkovém formátu.
Sl č. | Datový typ | Popis |
---|---|---|
7 | DLOUHO | To je podobné jako u DLOUHÉHO. Tato data nejsou interpretována PL / SQL. |
1 | VARCHAR2 | Slouží k ukládání dat znaků, která mají proměnnou délku. Velikost proměnných je nastavena v době deklarace. Pro efektivní využití paměti se vždy doporučuje používat VARCHAR2. |
dva | CHAR | Slouží k ukládání dat znaků pevné délky. Velikost proměnných je nastavena v době deklarace. Pokud se mají použít data pevné velikosti, vždy se doporučuje použít CHAR. |
3 | VARCHAR | Je to podobné jako u VARCHAR2. Během implementace kódu se vždy doporučuje používat VARCHAR. |
4 | NCHAR | Slouží k ukládání znakových dat, která jsou národními charakterovými daty pevné délky. Znaková sada je buď UTF 8 nebo UTF 16. Vždy se doporučuje převést CHAR na NCHAR. Ale převod NCHAR na CHAR může vést ke zkrácení dat. |
5 | NVARCHAR2 | Slouží k ukládání znakových dat, která jsou národními daty s proměnnou délkou. Je to podobné jako u VARCHAR2. Znaková sada je buď UTF 8 nebo UTF 16. Vždy se doporučuje převést VARCHAR2 na NVARCHAR2. Ale převod NVARCHAR2 na VARCHAR2 může vést ke zkrácení dat. |
6 | DLOUHO | Používá se v datovém slovníku. To se primárně používá v datech znakové sady. |
Booleovské datové typy
Tyto datové typy PL / SQL lze použít k ukládání logických hodnot. TRUE, FALSE a NULL jsou logické hodnoty.
SQL nemá datové typy BOOLEAN. Musíme se jim tedy vyhnout v následujících scénářích:
- PL / SQL příkazy generované z SQL.
- Výchozí funkce PL / SQL.
- Normální příkazy SQL.
Syntax:
test Boolean;
Výstup testované proměnné bude TRUE nebo FALSE v závislosti na určitých kritériích.
Datové typy Datum a čas
Tyto datové typy se používají pro konstantní délky data a času. Správný rozsah dat začíná od 1. ledna 4712 př. N.l. do 31. prosince 9999 nl a čas je definován v sekundách. Integrovaný formát data je DD-MON-YY, což znamená dvojčíslí přidělená pro den v měsíci, zkráceně název měsíce a poté poslední dvě číslice roku.
DATUM se skládá z sekundy, minuty, dne, hodiny, měsíce, roku a století. Každé z těchto polí má definovaný specifický rozsah, jak je uvedeno níže:
- DRUHÝ: Je definován v rozsahu 00 až 59,9.
- MINUTA: Je definován v rozsahu od 00 do 59.
- HODINA: Je definován v rozsahu od 00 do 23.
- DEN: Je definován v rozsahu od 01 do 31.
- MĚSÍC: Je definován v rozsahu od 01 do 12.
- ROK: Je definován v rozsahu od -4712 do 9999 (což nezahrnuje 0).
- TIMEZONE_HOUR: Je definován v rozsahu od -12 do 14.
- TIMEZONE_MINUTE: Je definován v rozsahu od 00 do 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Syntax:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Zde jsme popsali časové pásmo pomocí symbolů. Specifikace USA / Pacifik nebo PDT se používá k definování konkrétního časového pásma. Formulář PDT se většinou používá, protože poskytuje pokyny při přechodu na letní čas.
Datové typy LOB
Pojďme nyní diskutovat o datových typech LOB, které se zabývají obrovskými kousky dat skládajícími se z videí, zvuků, grafiky, obrázků atd.
Datové typy LOB mají oproti dlouhým datovým typům řadu výhod. Jsou uvedeny níže:
- Long pojme 2 GB, zatímco LOB pojme 128 TB.
- Tabulka může mít jeden sloupec typu LONG, zatímco může existovat řada sloupců datového typu LOB.
- Datový typ LOB prochází neustálými vylepšeními a aktualizacemi od společnosti Oracle, zatímco datový typ LONG nemá mnoho vylepšení a aktualizací.
Datové typy LOB jsou uvedeny níže:
- BFILE: Používá se k zadržení nestrukturovaných dat v binárním formátu mimo databázi jako soubor operačního systému.
- NCLOB: Slouží k uložení obrovských dat NCHAR v databázi.
- CLOB: Slouží k uchování obrovských dat typu znaků v databázi.
Syntax:
Binární CLOB;
- KAPKA: Slouží k uložení obrovských binárních dat v databázi.
Syntax:
Binární BLOB;
Implementace kódu u některých datových typů:
DECLARE m CHAR(20) := 'softwareTest!'; n VARCHAR2(30) := 'plsql'; o NCHAR(30) := 'plsql datatypes'; p NVARCHAR2(30) := 'plsql literals'; presentDt DATE:= SYSDATE; a INTEGER := 16; b NUMBER(20) := 11.2; c DOUBLE PRECISION := 14.7; BEGIN dbms_output.put_line('The char datatype is: ' || m); dbms_output.put_line('The varchar datatype is: ' || n); dbms_output.put_line('The nchar datatype is: ' || o); dbms_output.put_line('The nvarchar2 datatype is: ' || p); dbms_output.put_line('The current date is: ' || presentDt); dbms_output.put_line('The number a is: ' || a); dbms_output.put_line('The number b is: ' || b); dbms_output.put_line('The number c is: ' || c); END; /
Výstup z výše uvedeného kódu by měl být:
Proměnné PL SQL
Názvy proměnných PL / SQL se řídí konvencí pojmenování, která se skládá z alfanumerických znaků ne větších než třicet. PL / SQL nerozlišuje velká a malá písmena a klíčová slova by se neměla používat jako proměnná.
Název proměnné by měl mít smysl a může být následován podtržítkem (_), číslem nebo dolarem ($).
Deklarace proměnných PL SQL
Proměnné PL / SQL musí být k dispozici v oblasti deklarace nebo musí být obsaženy v balíčku jako globální proměnná. PL / SQL rezervuje paměť pro proměnné a umístění úložiště je definováno názvem proměnné.
Syntaxe deklarace proměnné:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)
Zde je název proměnné autentický identifikátor PL / SQL a datový typ může být uživatelem definovaný nebo potvrzený datový typ PL / SQL.
Implementace kódu pro deklaraci proměnné:
DECLARE v_namis VARCHAR2(10); n_addressis NUMBER(10,3); BEGIN dbms_output.put_line('The name is: ' || v_namis); dbms_output.put_line('The address is: ' || n_addressis); END;
Výstup z výše uvedeného kódu by měl být:
Mějte na paměti, uvedli jsme přesnost i velikost datového typu čísla. Toto se nazývá omezená deklarace. Tento typ deklarace spotřebovává méně paměti.
Inicializace proměnné PL / SQL
Ve výchozím nastavení má PL / SQL hodnotu proměnné jako NULL. Pokud však nechceme inicializovat proměnnou pomocí NULL, lze toho dosáhnout buď pomocí klíčového slova DEFAULT, nebo pomocí operátoru přiřazení.
Syntax:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Můžeme také definovat, že proměnná by neměla mít hodnotu NULL uvedením omezení NOT NULL. Pokud se však použije omezení NOT NULL, musíme pro proměnnou nastavit hodnotu.
Implementace kódu s proměnnou inicializací:
DECLARE v_namis VARCHAR2(40) := 'softwareTest!'; n_couris VARCHAR2(30) := 'plsql'; BEGIN dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || n_couris); END; /
Výstup z výše uvedeného kódu by měl být:
Implementace kódu s konceptem přiřazení:
DECLARE v_namis VARCHAR2(40); n_couris VARCHAR2(30); BEGIN v_namis := 'softwareTest!'; n_couris := 'plsql'; dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || v_couris); END; /
Zde se operátor přiřazení (=) používá k přiřazení hodnot proměnné.
Výstup z výše uvedeného kódu by měl být:
Variabilní rozsah PL / SQL
Blok PL / SQL může mít vnitřní bloky kódu. Pokud je proměnná, která je deklarována, součástí vnitřního bloku, nemůže být využívána vnějším blokem. S proměnnou, která je součástí vnějšího bloku, lze manipulovat ve vnitřním bloku kódu.
Níže jsou popsány tyto typy proměnných:
- Globální proměnné: Proměnné, které jsou deklarovány na vnějším bloku nebo balíčku.
- Místní proměnné: Proměnné, které jsou deklarovány ve vnitřním bloku kódu a nelze k nim přistupovat z vnějšího bloku.
Implementace kódu s globálními a lokálními proměnnými:
DECLARE -- Global variables val number := 10; BEGIN dbms_output.put_line('Global variable is : ' || val); DECLARE -- Local variables val number := 100; BEGIN dbms_output.put_line('Local variable is: ' || val); END; END; /
Výstup z výše uvedeného kódu by měl být:
Mějte prosím na paměti že výstupem zde je globální proměnná: 10 (kvůli globální proměnné val) a ‘místní proměnná je: 100 (kvůli místní proměnné val).
Kotva PL / SQL
Kotvy PL / SQL jsou definovány pomocí klíčového slova% TYPE pro deklaraci proměnných s datovým typem spojeným s datovým typem daného konkrétního sloupce tabulky.
Fragment kódu s kotvou:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Zde máme tabulku RESIDENT a máme co do činění se sloupci NAME a ADDRESS této tabulky.
Konstanty v PL / SQL
Konstanta udržuje hodnotu, která je jednou deklarována beze změny v celém programu.
Konstantní deklarace PL / SQL
The KONSTANTNÍ klíčové slovo se používá k definování konstant v programu. Začíná to předdefinovanou hodnotou, která zůstává v celém programu stejná.
Syntaxe deklarace proměnné:
const_name CONSTANT data type := val
Implementace kódu s konstantou:
DECLARE -- Constant p constant number := 3.141592654; -- Radius declarations r number(10,1); a_circle number(10,3); BEGIN -- Area calculation r := 9.4; a_circle := p * r * r; -- Output in console dbms_output.put_line('Area of circle: ' || a_circle); END; /
Výstup z výše uvedeného kódu by měl být:
Literály v PL SQL
Logická, číselná nebo řetězcová hodnota, která není definována identifikátorem PL / SQL, se nazývá literál. V literálech se rozlišují velká a malá písmena a jsou uvedeny níže uvedené typy:
- Boolean Literals ( Například - FALSE, TRUE)
- Literály postav ( Například - „s“, „7“, „)“)
- Smyčcové literály ( Například - „Test softwaru“)
- Číselné literály ( Například - 78, 04, 6,3)
- DATUM a časové literály ( Například - „25-05-2012“)
Často kladené otázky a odpovědi
Otázka č. 1) Jaké jsou datové typy v PL SQL?
Odpovědět: Datové typy PL SQL jsou složené a skalární. Skalární datové typy mohou obsahovat jednotlivé hodnoty, jako jsou Character, Number, Boolean a DateTime. Zatímco složené datové typy ukládají více než jednu hodnotu, jako je sběr a záznam.
Otázka č. 2) Co je proměnná PL / SQL?
Odpovědět: Proměnná PL SQL je název, který pomáhá vývojáři dočasně ukládat data během provádění programu. Jedná se o smysluplný název přiřazený úložné oblasti. Všechny proměnné v PL / SQL patří k určitému datovému typu.
Otázka č. 3) Jak předat parametr data v PL / SQL?
Odpovědět: Můžeme předat parametr data v PL / SQL pomocí klíčového slova DATE. Sleduje pevný formát jako „RRRR-MM-DD“.
Otázka č. 4) Jak deklarujete konstantu v PL / SQL?
Odpovědět: Můžeme deklarovat konstantu v PL / SQL pomocí klíčového slova CONSTANT. Po CONSTANT musíme zmínit hodnotu, která je mu přiřazena. Tato hodnota zůstává v celém programu pevná.
Otázka č. 5) Kolik typů literálů je k dispozici v PL / SQL?
Odpovědět: Typy literálů v PL / SQL jsou Number, DateTime, Text a Integer.
Otázka č. 6) Jsou proměnné PL SQL citlivé na velká a malá písmena?
Odpovědět: Proměnné PL SQL včetně vyhrazených slov nerozlišují velká a malá písmena. Například, ZAČNĚTE a začněte oba sloužit ke stejnému účelu.
Závěr
Velká část PL / SQL zabývající se tématy, jako jsou různé použité datové typy a jejich důležitost a proměnné PL SQL, by měla být nyní po přečtení tohoto tutoriálu srozumitelná.
Rovněž jsme podrobně prozkoumali konstanty a literály PL SQL. Projděte si každé z témat jeden po druhém a pomalu to zvládnete. PL / SQL se dnes používá v průmyslových odvětvích pro vývoj webových i serverových aplikací.
V dalším kurzu probereme PL / SQL příkazy Vložit, Aktualizovat, Odstranit, Vybrat a další související témata.
Zůstaňme naladěni na další sdílení znalostí.
Doporučené čtení
- Proměnné Pythonu
- Datové typy Pythonu
- Datové typy a proměnné C # s příklady
- Parametrizace dat JMeter pomocí uživatelem definovaných proměnných
- Výukový program Data Mart - Typy, příklady a implementace Data Mart
- Datové typy C ++
- Proměnné Java a jejich typy s příklady
- Přesné rozdíly mezi SQL a NoSQL a vědět, kdy použít NoSQL a SQL