Cześć,
chciałem się zapytać w jaki sposób testować pisane funkcje serwerowe? Czy da się sprawdzić wynik ciała funkcji przed jej utworzeniem? Chodzi o to, że jestem początkującym i popełniam wiele błędów a nie chcę za każdym razem tworzyć i usuwać funkcji. Zanim utworzę funkcję chciałbym sprawdzić czy ona będzie zwracać prawidłową wartość... Funkcje przeważnie składają się z wielu instrukcji, dlatego mam problem, by zobaczyć kompleksowo jak działa ten kod...
Z góry dzięki za pomoc.
eee, po co za każdym razem usuwać? Przecież możesz napisać CREATE OR REPLACE FUNCTION ...
i "stara" po prostu zostanie nadpisana przez nową. Np. SQL Lite Manager for SQL Server pozwala na debugowanie procedur składowanych (jednak trzeba do tego odpowiednio serwer skonfigurować)
@abrakadaber Dzięki wielkie - nie wiedziałem, że jest taka możliwość! :) Zaraz to będę testował :)
Rozumiem, że najpierw mam zrobić:
create function nazwa_funkcji ...
a następnie za każdym razem już tylko replace funkcion nazwa_funkcji...
nie - możesz od razu pisać create or replace function nazwa_funkcji
- jak jej nie ma to zostanie utworzona a jak jest to zostanie zastąpiona. Nie wiem tylko jak zachowa się jeśli zmienisz listę lub typy paramterów
abrakadaber napisał(a):
nie - możesz od razu pisać
create or replace function nazwa_funkcji
Taaa... problem polega na tym, że w MSSQL nie istnieje taka konstrukcja jak create or replace
. To po prostu nie zadziała i koniec.
Dwa - EMS SQL Lite NA PEWNO nie pozwala na debug procedur składowanych ani niczego innego:
http://www.sqlmanager.net/en/products/mssql/manager/matrix
wloochacz napisał(a):
abrakadaber napisał(a):
nie - możesz od razu pisać
create or replace function nazwa_funkcji
Taaa... problem polega na tym, że w MSSQL nie istnieje taka konstrukcja jak
create or replace
. To po prostu nie zadziała i koniec.
byłem pewny, że coś takiego jest - Oracle, Postgres i FB mają (przy FB to się nazywa CREATE OR ALTER), a to z nimi na co dzień pracuję. Zamiast tego można użyć http://stackoverflow.com/questions/13866004/create-stored-procedure-if-doesnt-exist-in-sql-server
Dwa - EMS SQL Lite NA PEWNO nie pozwala na debug procedur składowanych ani niczego innego:
http://www.sqlmanager.net/en/products/mssql/manager/matrix
hmm, mam zainstalowaną wersję lite i mam tą opcję dostępną