---
title: "Oracle - PL/SQL"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/180314-oracle-pl-sql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "b3rra"
published: "2009-09-17T13:17:51.000Z"
updated: "2009-09-18T12:49:54.000Z"
replies: 4
views: 611
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/180314-oracle-pl-sql"
---

# Oracle - PL/SQL

## #1 — b3rra, 2009-09-17T13:17Z

Hej, 

jag sitter på en oracle datbas och skriver lite PL/SQL

skulle behöva hjälp med att få till följande:

variable_sql varchar2(11000) := Select id from table where status=12

DELETE FROM table WHERE column in (variable_sql)

column är numerisk och resultatet förväntas bli 78,89,67 osv. 

Hur får jag till det?

Permalänk: https://www.webforum.nu/p/180314

## #2 — LarsG, 2009-09-17T14:04Z

Varför måste du ha en variabel? Kan du inte bara göra

```
delete from t1 
 where c in 
      (Select id 
        from t2
      where status=12)
```

Permalänk: https://www.webforum.nu/p/2202328

## #3 — b3rra, 2009-09-17T14:19Z

Hel sant, 

men det rör sig om en lång SQL i in-satsen som byts ut med jämna mellanrum. 
Samtidigt som den rör ett 60 tal tabeller(samma sql behöver kopieras in i ca 60 delete satser). 

Så jag skulle vilja slippa att uppdatera på flera ställen. 

// B3rra

Permalänk: https://www.webforum.nu/p/2202330

## #4 — LarsG, 2009-09-17T18:07Z

Ok, då får du använda någon lämplig cursor-loop och bygga ihop en lista med id-värden och sedan göra lite dynamisk sql.

```
declare
  cursor c8 is
  select id from t2;
declare ids varchar(3000);

 for r in c8 loop
     ids := coalesce(ids || ',','') || r.id;
 end loop;
 
 if  ids is not null then
     execute immediate 'delete from t where id in (' || ids || ')';
 end if;
```

Ovanstående är helt otestat men kanske är till någon hjälp i alla fall.

Permalänk: https://www.webforum.nu/p/2202354

## #5 — b3rra, 2009-09-18T12:49Z

Tackar!

Du gör ett underbart jobb här, ändrade lite på koden och nu fungerar det. 

Mvh B3rra

Permalänk: https://www.webforum.nu/p/2202470

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/180314-oracle-pl-sql
