To, żeby każdy użytkownik miał swoją tabelę to już jest źle pomyślane. Do tworzenia tabel trzeba dać dość spore uprawnienia, czego zwykli użytkownicy mieć nie powinni.
Jeśli jednak projekt to zakłada (takie masz zewnętrzne wymaganie), do dobrze byłoby użyć schematów. W
SQL 2000 to jeszcze nie do końca dobrze funkcjonuje, ale wydaje mi się że to nie z tym SQL-em masz do czynienia.
SQL 2000 to produkt sprzed 11 lat, a są już 3 nowsze wersje i czwarta w drodze. Powiedzmy jednak że masz sql i zalogowałeś się do aplikacji jako użytkownik henio.
SQL 2000 założył dla niego "schemat" henio (zakładamy że nie jest sysadminem. Zatem jeśli ma on prawo create table, to np polecenie.
CREATE TABLE mojedane (id int identity primary key,
dana varchar(1000) N
)
założy tabelę henio.mojedane.
SELECT * FROM mojedane
odczyta z ponownie tabeli henio.mojedane.
Jeśli następnie zaloguje się użytkownik zuza, to create table założy odpowiednio tabelę zuza.mojedane.
Także robiąc formularz operujący na tabeli mojedane (bez kwalifikowania schematem) osiągniemy spodziewany efekt.
To podejście nie ma dużo wspólnego z porządną wydajnością ani z porządnym bezpieczeństwem, ale na zaliczenie może wystarczy.
Upewnij się, czy to na pewno
SQL 2000. Powyżej schematy funkcjonują już normalnie i trzeba zadbać o założenie takiego schematu i przypięcie użytkownikowi. No i oczywiście musisz zapewnić możliwość logowania się, a nie zakodować w źródle danych coś na sztywno. Od
SQL 2005 masz alternatywę w postaci execute as.
--__________ Pozdrawiam Marek Adamczuk
__________
Pozdrawiam
Marek Adamczuk