Обсуждение:

Поиск
Список
Период
Сортировка

От
"jack"
Дата:
Hi,
Regarding temp tables in the same connection session. If there is SQL
procedure creating temp tables, process temp tables and drop all the temp
tables finally. This SQL procedure can't run twice in the same session.
Because all the temp tables are referred to the first physical temp tables.
I posted this question couple months ago and the final reply is that in the
future version, all the sql procedures, which use temp tables, will be
forced to re-compile though it's been used in the session.

Now, my question is, if it has been done, do I still need to drop all the
temp tables before I re-run the same SQL procedure in the same session?

Jack





Double quotes?

От
Archibald Zimonyi
Дата:
Hi everyone,

I have a column with type text and am trying to pump in a larger amount of
text that has double quotes and also commas in between. I got an error
when I tried to do a simple INSERT. I then tried to escape the double
quote with a backslash but that didn't work. The manual for the 7.1
database says that I can escape charactes by using the \xxx where xxx is
the octal value of the character. Is this the only way or have I missed
out on something simple and just keep making a small mistake?

Thanks in advance,

Archie






Re: Double quotes?

От
Christoph Haller
Дата:
The information you gave is not very helpful. 
An INSERT command, which caused the error, would help. 
Anyway, did you enclose the text by single quotes? 
AFAIK, you do not have to escape double quotes. 

Regards, Christoph 
> 
> Hi everyone,
> 
> I have a column with type text and am trying to pump in a larger amount of
> text that has double quotes and also commas in between. I got an error
> when I tried to do a simple INSERT. I then tried to escape the double
> quote with a backslash but that didn't work. The manual for the 7.1
> database says that I can escape charactes by using the \xxx where xxx is
> the octal value of the character. Is this the only way or have I missed
> out on something simple and just keep making a small mistake?
> 
> Thanks in advance,
> 
> Archie
> 




Re: Double quotes?

От
Archibald Zimonyi
Дата:


> The information you gave is not very helpful. 
> An INSERT command, which caused the error, would help. 
> Anyway, did you enclose the text by single quotes? 
> AFAIK, you do not have to escape double quotes. 
> 
Found the problem. Yes I enclosed the text in single quotes, and the text
also included a single quote that I managed to miss to escape.

Thanks anyway,

Archie






Re:

От
Bruce Momjian
Дата:
jack wrote:
> Hi,
> Regarding temp tables in the same connection session. If there is SQL
> procedure creating temp tables, process temp tables and drop all the temp
> tables finally. This SQL procedure can't run twice in the same session.
> Because all the temp tables are referred to the first physical temp tables.
> I posted this question couple months ago and the final reply is that in the
> future version, all the sql procedures, which use temp tables, will be
> forced to re-compile though it's been used in the session.
> 
> Now, my question is, if it has been done, do I still need to drop all the
> temp tables before I re-run the same SQL procedure in the same session?

Actually, we recomment using EXECUTE for any temp table access from
pl/pgsql stored procedures.  We even have an FAQ item now:
   <H4><A name="4.26">4.26</A>) Why can't I reliably create/drop   temporary tables in PL/PgSQL functions?</H4>
PL/PgSQLcaches function contents, and an unfortunate side effect   is that if a PL/PgSQL function accesses a temporary
table,and that   table is later dropped and recreated, and the function called   again, the function will fail because
thecached function contents   still point to the old temporary table. The solution is to use   <SMALL>EXECUTE</SMALL>
fortemporary table access in PL/PgSQL. This   will cause the query to be reparsed every time. 
 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026