cancel
Showing results for 
Search instead for 
Did you mean: 

How to retrieve temporary table structure?

03-14-2022 9:14 AM
Valdas Participant
1664 views 3 comments Go to solution
0 Likes
SAP Managed Tags
Subscribe

Title kind of says it all, here is a sample query:

BEGIN
    DECLARE LOCAL TEMPORARY TABLE tmp(id INTEGER, val VARCHAR(20));
    SELECT * FROM sys.syscolumns WHERE tname = 'tmp';
END;

Any ideas?

0 Likes

Accepted Solutions (1)

Accepted Solutions (1)

Valdas
Participant

I found a workaround:

BEGIN
    DECLARE LOCAL TEMPORARY TABLE tmp(id INTEGER, val VARCHAR(20));
    SELECT * FROM sa_describe_query('select * from tmp');
END;
VolkerBarth
Contributor
0 Likes

Nice, I just wanted to mentioned another answer - with exactly that solution.

Answers (1)

Answers (1)

VolkerBarth
Contributor
0 Likes

AFAIK, you cannot, because by definition local temporary tables – in contrast to permanent tables and global temporary tables – are not contained in the system catalog.

Catalog queries like in your sample or builtin functions like the sa_get_table_definition() system procedure rely on the system catalog to provide information, so they won't offer information for local temporary tables.


FWIW, the table SYSTAB itself specifies that the column "table_type" is set to 4 in case of a "Local temporary table", so my assumption might be wrong.