Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: porownanie t - sql i pl sql && generowanie tabel - pl sql
Forum PHP.pl > Forum > Bazy danych > Oracle
mcmakar
Witam,

mam za zadanie zrobić małe porównanie pl sql i t sql - oracle vs. ms. Nie mam jakiegoś super pomysłu na to. Zrobiłem funkcje insertujące, aktualizujące o usuwające rekordy z tabel w obu środowiskach. Porównuje szybkość wykonania. Nie miałem lepszego pomysłu - chyba raczej składnie nie ma sensu porównywać- dlatego zająłem się szybkością. Mam problem z napisaniem funkcji która utworzy X tabel (X jest parametrem funkcji.) Oto kod- nie potrafię sobie z tym poradzić, proszę o rzut okiem i pomoc:

declare
i number(20) :=1;
table_name varchar(30) := to_char(i);
y1 number :=:y;
begin
while i <= y1 loop
table_name := to_char(i);
create table to_char(table_name) ( ID number(30), name varchar(20));
i:=i+1;
end loop;
end;

====================================================================
ORA-06550: line 8, column 1:
PLS-00103: Encountered the symbol "CREATE" when expecting one of the following:

begin case declare end exit for goto if loop mod null pragma
raise return select update while with
<<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe

6. while i <= y1 loop
7. table_name := to_char(i);
8. create table to_char(table_name) ( ID number(30), name varchar(20));
9. i:=i+1;
10. end loop;


BTW - tzw stored procedures i functions nie mogłem uruchomic uzywajac execute nazwa(parametry); dlaczego ?
bww
Przeczytaj: http://www.gplivna.eu/papers/naming_conventions.htm (Common rules)

Do tworzenia tabeli w procedurze uzyj EXECUTE IMMEDIATE.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.