Ich habe zwei Tabellen. Ich möchte abc aus Tabelle 2 nach folgenden Schritten erhalten:
1. Wählen Sie Name aus Tabelle1, wo Typ = "Tier";
2. Durchlaufen Sie jeden Namen von 1. und prüfen Sie auf Table2, d. H. O_name = name;
3. Überprüfen Sie, ob für diesen o_name eine Beschreibung existiert.
4. Wenn desc nicht existiert, fügen Sie 'pet' für diesen Datensatz in Tabelle2 ein.Schleife durch die Daten des Cursors und vergleichen für den Wert einer anderen Tabelle sql
Wie mache ich das? Für jetzt habe ich einen Cursor, der Name von Table1 hat. Ich denke daran, die Aufzeichnung des Cursors zu durchlaufen, aber darüber hinaus bin ich nicht in der Lage. Bitte empfehlen Sie mir:
DECLARE
CURSOR DATA is
SELECT name
FROM Table1
where type='animal';
BEGIN
FOR C IN DATA LOOP
// After this what can I do?? I cannot do select into because there will be
// multiple rows
END LOOP;
END;
/
Table1:
id | name | type
---| ---- | -----
1| Apple | food
2| Ball | game
3| Cat | animal
4| Cow | animal
5| Ball | game
Table2:
o_name | desc
---| ----
Apple| eat
Cat| pet
Cow|
Warum möchten Sie es mit einem Cursor tun? – rjdevereux
@rjdevereux Hallo Rj Können wir es ohne Cursor machen? – Rthp
Warum müssen Sie Tabelle1 durchlaufen. Es ist im Voraus bekannt, dass der Name "Katze" ist. Warum also nicht einfach Katzen direkt von table2? Es ist nicht klar, was Sie erreichen möchten. –