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 ‘SQL’
Procedura składowana – BEGIN i END
Parametr dla procedury to nie to samo co zmienna w zapytaniu ad-hoc. Wykorzystanie planów wykonania.
Ten przykład pokaże, że co innego jest napisać i dobrze wykorzystać procedurę składowaną z parametrami, a co innego ten sam kod wykonać jako zapytanie ad-hoc, nawet jeżeli pewne wartości do zapytania będą przekazywane poprzez zmienne. Będziemy pracować w testowej bazie danych: use AdventureWorks2008R2 Zauważ, jak zachowuje się poniższe zapytanie: SELECT * FROM Sales.SalesOrderHeader WHERE OrderDate […]
Jak pobrać aktualną wersję rekordu z tabeli historycznych zmian
Załóżmy, że mamy tabelę o następującej strukturze: CREATE TABLE case_status ( Id INT, CaseId CHAR(10), Status CHAR(10) ) Tabela ma zapamiętywać historyczne zmiany, które zachodziły dla określonych spraw (CaseId). Przyjrzyjmy się takim danym: INSERT INTO case_status VALUES (1,’CASE_A’,’Open’), (2,’CASE_B’,’Open’), (3,’CASE_A’,’Process’), (4,’CASE_C’,’Open’), (5,’CASE_A’,’Close’), (6,’CASE_B’,’Process’) Widać, że sprawa „CASE_A: została kiedyś otwarta (rekord nr 1), potem […]
Mniej znane polecenia na SQL Serwerze (CHECKPOINT, KILL, SHUTDOWN)
Zacznijmy od niegroźnego polecenia CHECKPOINT Powoduje ono uruchomienie procesu CHECKPOINT polegającego na przepisaniu „brudnych stron” z bufora SQL Serwera na dysk. Domyślnie czynność ta wykonuje się sama, bez naszej ingerencji, a wpływ ma na nią opcja serwera 'Recovery Interval’. Jeżeli chcesz aby baza danych po awarii odtwarzała się szybciej to zmniejsz recovery interval. Chceckpointy będą […]
Jak uruchomić procedurę zaraz po uruchomieniu usługi SQL Server?
Można co najmniej na dwa sposoby: Poprzez sp_procoption lub Poprzez SQL Server Agenta Ale po kolei:
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 […]