Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Cursor

Empfohlene Antworten

Veröffentlicht

Schon wieder ein prob ;)

Ich habe in eine Tabelle1 eine SpalteS und dort steht ein Zahl zB 35011004 in eine andere Tabelle2 ist auch eine SpalteS wo steht auch ein Zahl Jetzt muß ich solange in der Tabele2 SpalteS einen Satz suchen bis gefunden.

Die regeln sind so: wenn in der Tabele2 SpalteS die Zahl 35011004 nicht gefunden ist zahl um zwie von rechts kürzen und weiter suchen so habe ich es versucht funk aber leider noch nicht richtig ;(


declare x_cursor cursor for select x from Tabele1
where .....
open x_cursor
fetch next from x_cursor
into @ SpalteS
while @@fetch_status = 0
begin
set @x =@x/100
fetch next from x_cursor into @x
if exists (select bed from Tabele2 where SpaleS=@SpalteS)
begin
......
end
fetch next from x_cursor into @ SpalteS
end
close x_cursor
deallocate x_cursor

[/PHP]

Hi,

wo kommt der erste Wert für @x her ? Du settzt am anfang der Bedingung @x = @x/100

hast aber X noch keinem Wert zugewiesen., oder fehlt da noch ein Teil des Codes ?

  • Autor
Original geschrieben von Panther

Hi,

wo kommt der erste Wert für @x her ? Du settzt am anfang der Bedingung @x = @x/100

hast aber X noch keinem Wert zugewiesen., oder fehlt da noch ein Teil des Codes ?

Hi , ja richtig es fehlt noch teil von Cod, der wert @x ist gesetz allerdings läft es nur eimal durch ;(

Habe mir gedacht LOOP zu benutzen aber irgend wie klapt es nicht ;(

Warum hast du so häufig fetch next drinne? Es reicht doch, einmal, und zwar am anfang (in) deiner Schleife.

Gruß

Lebertran

ich würde das fetch next am Ende lassen dann er will ja die Daten die er gerade hat vergleichen und dann zum nächsten.

Was ich aber nicht verstehe :

du setzt in der Schleife @x = @x/100 und liest dann nen Wert aus dem Cursor in die Variable @x ein ohne sie vorher zu verarbeiten, oder hast du was vom Code aus der Schleife rausgenommen ?

Den Schreibfehler in der If Exists Bedingung hast du nur hier beim posten gemacht , oder ?

  • Autor
Original geschrieben von Panther

Was ich aber nicht verstehe :

du setzt in der Schleife @x = @x/100 und liest dann nen Wert aus dem Cursor in die Variable @x ein ohne sie vorher zu verarbeiten, oder hast du was vom Code aus der Schleife rausgenommen ?

Den Schreibfehler in der If Exists Bedingung hast du nur hier beim posten gemacht , oder ?

Entweder verstehe ich das ganze was Du machst oder es läuft nicht richtig denn wenn ich so versuche zu machen kriege ich nichts gefunden dh. er sollte nicht nur einmal zwei stelle abschneiden sondern solange bis was gefunden oder bis null


declare x_cursor cursor for select x from Tabelle1
where ...
open x_cursor;

fetch x_cursor into @x;


print 'fetch_status von x_cursor :'
print @@fetch_status –@@fetch_status ist 0
while @@fetch_status = 0
begin

print'@x vor' –hier kriege ich den orginal Wert
print @x
if exists (select was from Tabelle2 where x=@x) – ist hier was falsch ?
begin
print'x'
print @x – hier kommt er nie ;(
end
fetch next from x_cursor into @x
set @x =@x/100
print'x nach'
print @x -- hier schneidet er zwei stellen ab aber geht nicht wieder hoch
end
close x_cursor
deallocate x_cursor

[/PHP]

Original geschrieben von 007ski

PHP]

declare x_cursor cursor for select x from Tabelle1

where ...

open x_cursor;

fetch x_cursor into @x;

print 'fetch_status von x_cursor :'

print @@fetch_status –@@fetch_status ist 0

while @@fetch_status = 0

begin

print'@x vor' –hier kriege ich den orginal Wert

print @x

if exists (select was from Tabelle2 where x=@x) – ist hier was falsch ?

begin

print'x'

print @x – hier kommt er nie ;(

end

fetch next from x_cursor into @x -Warum hier nochmal ein Fetch next ? Mach das doch nach dem Print

set @x =@x/100

print'x nach'

print @x -- hier schneidet er zwei stellen ab aber geht nicht wieder hoch

end

close x_cursor

deallocate x_cursor

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.