Abyśmy mogli rozpocząć przykłady z tego rozdziału, niezbędne będzie stworzenie potrzebnej nam tabeli i umieszczenie w niej danych:
create table ludziki (
id serial primary key,
imie text,
nazwisko text,
wiek integer
);
insert into ludziki(imie,nazwisko,wiek) values ('Marian','Paździoch',75);
insert into ludziki(imie,nazwisko,wiek) values ('Waldemar','Kiepski',24);
insert into ludziki(imie,nazwisko,wiek) values ('Ferdynand','Kiepski',56);
insert into ludziki(imie,nazwisko,wiek) values ('Marian','Boczek',34);
insert into ludziki(imie,nazwisko,wiek) values ('Rozalia','Kiepska',120);
Po tej operacji powinniśmy mieć tabelę z 5 wierszami.
Insert
Jeśli zechcemy wstawić wiersz do tabeli z użyciem PL/pgSQL, wystarczy umieścić instrukcję Insert wewnątrz kodu:do
$$
begin
insert into ludziki(imie,nazwisko,wiek) values ('Zenek','Martyniuk',45);
end $$;
Kolumna id jest uzupełniana automatycznie, w związku z tym że jest to kolumna typu serial. PL/pgSQL pozwala nam dodatkowo na użycie zmiennych:
do
$$
declare
im text:='Koziołek';
na text:='Matołek';
wi integer:=17;
begin
insert into ludziki(imie,nazwisko,wiek) values (im,na,wi);
end $$;
Po uruchomieniu kodu i sprawdzeniu zawartości tabeli ludziki, zaobserwujemy pojawienie się nowych wierszy w tabeli:
Update i delete
Instrukcja UPDATE czy DELETE może być wykonywana tak jak w SQL, z tym że w PL/pgSQL możemy używać zmiennych, podobnie jak przy INSERT:
do
$$
declare
postarzej_o integer:=5;
begin
update ludziki set wiek=wiek+postarzej_o;
end $$;
Po wykonaniu powyższego kodu wszystkie ludziki są starsze o 5 lat :) Poniżej usuwamy jeszcze Zenka Martyniuka (i tak jest go już wszędzie pełno).
do
$$
declare
kogo integer:=6;
begin
delete from ludziki where id=kogo;
end $$;
No comments:
Post a Comment