Moin!
Seit einiger Zeit versuche ich mich mit MS SQL Server anzufreunden. Nun habe ich mit der Programmierung der „user defined function“ und „stored procedure“ angefangen. Dabei bin ich auf Probleme gestoßen, die ich mit eurer Hilfe lösen möchte.
<B>Ausgangssituation:</B>
MS SQL Server, Test-Tabelle, selbstdefinierte Funktion und SQL Query Analyzer.
<B>Test-Tabelle:</B><br>
id, zahl, string<br>
1 1 abc<br>
2 3 def<br>
3 7 ghi<br>
<B>Selbstdefinierte Funktion:</B><br>
<PRE>create function fkt_ContString()
returns varchar(200) as
begin
declare @return_string varchar(200), @id int, @zahl int, @string varchar(10);
declare
o_cursor cursor for
select @id, @zahl, @string
from shortstring;<br>
open o_cursor<br>
fetch next from o_cursor
into @id, @zahl, @string<br>
while @@fetch_status = 0
begin
select @return_string = @return_string + @string
end<br>
close o_cursor<br>
return(@return_string)
end
</PRE>
Als Ergebnis erwarte ich, dass folgende Zeichenkette zurückgeliefert wird: “abcdefghi”.
<B>Aufruf in SQL Query Analyzer:</B><br>
select dbo.fkt_ContString() as 'myString'
Ich habe versucht die Funktion in SQL Query Analyzer aufzurufen. Der Server scheint zwar sehr beschäftigt zu sein, doch leider passiert nicht viel mehr. Deswegen musste ich nach einiger Zeit die Abarbeitung der Query abbrechen.
Was mache ich falsch?<br>
Wie testet man die selbstdefinierten Funktionen im „Enterprise Manager“?<br>
Kann man eine selbsterstellte Funktion in SQL Query Analyzer debugen?<br>
Viele Grüße<br>
Markus
Seit einiger Zeit versuche ich mich mit MS SQL Server anzufreunden. Nun habe ich mit der Programmierung der „user defined function“ und „stored procedure“ angefangen. Dabei bin ich auf Probleme gestoßen, die ich mit eurer Hilfe lösen möchte.
<B>Ausgangssituation:</B>
MS SQL Server, Test-Tabelle, selbstdefinierte Funktion und SQL Query Analyzer.
<B>Test-Tabelle:</B><br>
id, zahl, string<br>
1 1 abc<br>
2 3 def<br>
3 7 ghi<br>
<B>Selbstdefinierte Funktion:</B><br>
<PRE>create function fkt_ContString()
returns varchar(200) as
begin
declare @return_string varchar(200), @id int, @zahl int, @string varchar(10);
declare
o_cursor cursor for
select @id, @zahl, @string
from shortstring;<br>
open o_cursor<br>
fetch next from o_cursor
into @id, @zahl, @string<br>
while @@fetch_status = 0
begin
select @return_string = @return_string + @string
end<br>
close o_cursor<br>
return(@return_string)
end
</PRE>
Als Ergebnis erwarte ich, dass folgende Zeichenkette zurückgeliefert wird: “abcdefghi”.
<B>Aufruf in SQL Query Analyzer:</B><br>
select dbo.fkt_ContString() as 'myString'
Ich habe versucht die Funktion in SQL Query Analyzer aufzurufen. Der Server scheint zwar sehr beschäftigt zu sein, doch leider passiert nicht viel mehr. Deswegen musste ich nach einiger Zeit die Abarbeitung der Query abbrechen.
Was mache ich falsch?<br>
Wie testet man die selbstdefinierten Funktionen im „Enterprise Manager“?<br>
Kann man eine selbsterstellte Funktion in SQL Query Analyzer debugen?<br>
Viele Grüße<br>
Markus
Comment