Forum: SQL |
Thema:
sp while-schleife: variablen werden falsch belegt |
Von:
G. Guest (
05.10.2004 03:41) |
hallo, ich habe folgendes problem:
ich übergebe an eine sp eine variable @ingr, die dann auf hochkommata untersucht und in substrings aufgeteilt werden soll, nach denen später in einer tabelle gesucht wird. leider klappt das überhaupt nicht.
ich übergebe den string aaa"bbb"ccc"ddd"
Ausgabe:
bestnr start length
-----------------------
%aaa% 0 4
%"bbb"% 4 4
%"ccc"ddd% 8 8
%"% 16 16
%% 32 32
erwartet hatte ich:
bestnr start length
-------------------------
%aaa% 0 3
%bbb% 4 3
%ccc% 8 3
%ddd% 12 3
hier ist der code:
CREATE PROCEDURE dbo.r_Search
@ingr varchar(50)
AS
DECLARE @query varchar(50), @i int, @start int, @length int
SET @end = 1
SET @i = 0
SET @length = 0
SET @start = 0
DECLARE @tblb table (query varchar(50), rating int, zutaten int)--int DEFAULT 1)
WHILE(LEN(@ingr) > 0)
BEGIN
SET @length = CHARINDEX('"', @ingr, @start)
SET @query = '%' + SUBSTRING(@ingr, @start, @length) + '%'
INSERT INTO @tblb (query, rating, zutaten) VALUES (@query, @start, @length)
SET @start = @start + @length
IF (@length = 0) BREAK
END
SELECT bestnr, rating, zutaten FROM @tblb
GO
kann mir vielleicht jemand helfen und mir sagen, warum meine variablen @start und @length nicht richtig belegt werden? vielen dank, mfg, josocop
Betreff |
Von |
Datum |
|
|
Sven
Buhk
|
05.10.2004 08:30 |
|
|
Berthold
Neumann
|
05.10.2004 10:03 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!