Re: problem with variable
| От | Michael Wood |
|---|---|
| Тема | Re: problem with variable |
| Дата | |
| Msg-id | AANLkTimGKvYg9sm6ZPh18Gc_7hcQwK3ycVlM6qb4xbaS@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: problem with variable (Michael Wood <esiotrot@gmail.com>) |
| Список | pgsql-novice |
On 9 June 2010 16:51, Michael Wood <esiotrot@gmail.com> wrote: > Hi > > On 9 June 2010 16:24, coviolo@libero.it <coviolo@libero.it> wrote: >> something like this: >> >> IF (TG_OP = 'UPDATE') THEN >> EXECUTE 'CREATE TABLE '||NEW.nome_tabella||' (ordinativo serial PRIMARY KEY >> CHECK (nome_tabella = '''||NEW.nome_tabella||'''::text)) >> INHERITS (database_t); >> >> 3 quotes first and 3 quotes after the second variable? > > Just a guess, but I think this is what you want: > > IF (TG_OP = 'UPDATE') THEN > EXECUTE 'CREATE TABLE ' || NEW.nome_tabella || ' (ordinativo serial PRIMARY KEY > CHECK (nome_tabella = "' || NEW.nome_tabella || '"::text)) > INHERITS (database_t);' > > i.e. you want: > > CREATE TABLE table_name (x serial PRIMARY KEY > CHECK (column_name = "table_name"::text)) > INHERITS (database_t); Sorry, I was talking nonsense. You want column_name = 'table_name' but because the ' will be inside a quoted string, you need to double it. So you were right. Use ...nome_tabella = ''' || NEW.nome_tabella || '''::text... -- Michael Wood <esiotrot@gmail.com>
В списке pgsql-novice по дате отправления: