Tworzenie funkcji serwerowych - testowanie/zmiana

Tworzenie funkcji serwerowych - testowanie/zmiana
KS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 41
0

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.

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1

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ć)

KS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 41
0

@abrakadaber Dzięki wielkie - nie wiedziałem, że jest taka możliwość! :) Zaraz to będę testował :)
Rozumiem, że najpierw mam zrobić:

Kopiuj
create function nazwa_funkcji ...

a następnie za każdym razem już tylko replace funkcion nazwa_funkcji...

Kopiuj
abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
1

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

WL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1084
0
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

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
0
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ą
SQL Manager Lite for SQL Server - [Procedure - [dbo.Export]].png

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.