Zamierzasz utworzyć procedurę, którą będzie uruchamiał pewien nowy użytkownik. Tworzymy więc konto użytkownika: USE Test GO CREATE USER TestUser WITHOUT LOGIN GO Teraz dla użytkownika utworzymy procedurę i nadamy uprawnienia dla tego użytkownika: CREATE PROCEDURE TestIt AS BEGIN SELECT file_id, name FROM sys.database_files END GRANT EXECUTE ON TestIt TO TestUser GO Uwaga! Uruchamiając ten kod […]
Archiwum dla kategorii ‘Błedy’
Procedura składowana – BEGIN i END
PHP 4 i PHP 5 na jednym serwerze Apache (PHP 5 jako CGI, z mysql)
Nie samym Microsoftem programista żyje. Na Linuxie trzeba było zainstalować PHP 5, tak by się zgrał z Apache i MySql. Cały problem polegał jednak na tym, że na serwerze Apache był skonfigurowany z PHP 4 uruchamianym jako moduł. Na dodatek PHP 4 nie mogło być zamienione na PHP 5, bo były pewne strony, które wymagały […]
Jak wybrać co drugi rekord (SELECT co drugi rekord)
Jeżeli trzeba wyświetlić co drugi rekord to trzeba sobie odpowiedzieć na pytanie co to znaczy co drugi rekord! Załóżmy, że zamierzam wyświetlić co drugiego pracownika z tabeli Person.Person ze względu na numer pracownika (BusinessEntietyID). Załóżmy więc, że układam wszystkich pracowników wg ich ID. Wybór co drugiego jest teraz już prosty z algorytmicznego punktu widzenia. Numerujemy […]
Błąd podczas kompilacji php „xml2-config not found”
Podczas instalacji PHP v5 wystąpił błąd po uruchomieniu polecenia ./configure: configure: error: xml2-config not found. Please check your libxml2 installation. Co ciekawe biblioteka xml-2 była już zainstalowana.
Jak sprawić aby nawet administrator lub właściciel bazy danych nie mógł jej usunąć?
Bezpośrednio będzie to trudne do ustawienia, ale jeżeli zaprząc do pracy trigger DDL, to będzie łatwiej. Rozważ następujący trigger uruchamiany podczas usuwania jakiejkolwiek bazu danych: CREATE TRIGGER tr_drop_db ON ALL SERVER FOR DROP_DATABASE AS BEGIN PRINT 'Dropping database is not allowed. Contact me ……..’ ROLLBACK END
Błedy konwersji typów SQL, zaokrąglenia, obięcia, przekroczenia zakresu typu
Programując w SQL zastanawiasz się może czasami jaki typ wybrać dla zmiennych lub kolumn w tabelach. SQL Server sam podejmuje czasami decyzję o potrzebie wykonania pewnych konwersji i jeżeli pozwolisz mu zadzaiłać wg swoich algorytmów, to możesz dojść do błędów, które są trudne do zdebuggowania. Przedstawię tutaj kilka takich przykładów: Źle: DECLARE @smallValue smallint SET […]
Dlaczego nie działa INSERT!? Dlaczego nie mogę zainicjować zadeklarowanej zmiennej!?
Do tabeli chciałem dzisiaj wstawić kilka rekordów 'za jednym zamachem’. Można to zrobić poprzez polecenie: INSERT Countries VALUES (’EN’, 'England’,1), (’PL’, 'Poland’,1), (’G’,’Germany’,1), (’CDN’,’Canada’,2), (’USA’,’USA’,2) Tymczasem pojawia się błąd: Msg 102, Level 15, State 1, Line 2 Incorrect syntax near ’,’. Błędu nie widzę, albo jestem ślepy ale przepisanie polecenia na pojedyncze INSERT pomogło. Idziemy […]