Re: help with dynamic table name
От | Tom Lane |
---|---|
Тема | Re: help with dynamic table name |
Дата | |
Msg-id | 26677.1173156529@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: help with dynamic table name ("Jasbinder Singh Bali" <jsbali@gmail.com>) |
Ответы |
Re: help with dynamic table name
Re: help with dynamic table name |
Список | pgsql-novice |
"Jasbinder Singh Bali" <jsbali@gmail.com> writes: > On 3/5/07, Peter Schonefeld <peter.schonefeld@gmail.com> wrote: >> sql := "INSERT INTO "+ $3 +" ('id','body') VALUES ("+ $1 +","+ $2 +")"; >> >> I get the error: "ERROR: 42703: column \"INSERT INTO \" does not exist" > try replacing double quotes with single quotes and you should be fine i > think Actually, I think Peter's got the double and single quotes exactly backwards. You can't just randomly use one or the other: single quotes surround literal strings, double quotes surround identifiers (and are only really needed if the identifier wouldn't be syntactically an identifier without them). So Peter could write sql := 'INSERT INTO '+ $3 +' ("id","body") VALUES ('+ $1 +','+ $2 +')'; but in this particular case there's no point in double-quoting those target-column names; it'd be the same to write sql := 'INSERT INTO '+ $3 +' (id,body) VALUES ('+ $1 +','+ $2 +')'; regards, tom lane
В списке pgsql-novice по дате отправления: