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 по дате отправления: