Re: How to do the equivalent of 'describe' with a SELECT?
- From: "Ramon F Herrera" <ramon@xxxxxxxxxxx>
- Date: 31 Mar 2007 11:22:11 -0700
On Mar 31, 12:05 pm, sybra...@xxxxxxxxx wrote:
On 31 Mar 2007 07:50:06 -0700, "Ramon F Herrera" <r...@xxxxxxxxxxx>
wrote:
The SQL code that I need is for a Pro*C/C++ application. Before my
compiled C program does its main thing, it should check the current
sizes of the variables in the target table.
Why, do you think you can dynamically change the change of variables
of a *compiled* program? That would be very weird.
I would like to be able to change the variables' sizes, for instance,
from:
VARCHAR(20);
to
VARCHAR(30);
without having to recompile all my C programs. Or at least, reduce the
impact of such resize.
TIA,
-Ramon
In PL/SQL you would declare the variable as
<variable> <table>.<column>%type
but you would still need to recompile everything (automagically).
May be something similar exists in Pro*C.
Apart from that your task is impossible: you simply can't change
dynamically the limits of *statically* declared variables, or you
would need pointer variables everywhere.
Such is the fate of a developer hardcoding everything and not using
constants.
--
Sybrand Bakker
Senior Oracle DBA
This is the situation, Sybrand.
My application creates delimited <tablename>.dat files and I want to
make sure that some fields are properly truncated (or perhaps there is
a way to tell SQL*Loader to do the truncation? I rather do it myself,
and spare sqlldr the trouble).
Currently the guy wearing the SQL/PL hat and the C developer hat is
just me, but maybe later on, some guy will change the sizes of
variables and break things.
I have some programs that read files from disk and place them in an
array. The typical solution is to declare a huge array size which will
hopefully never be outgrown.
I think this should be used:
if (numberOfLines > MAXLINES) {
printf("This program has to be recompiled\n");
printf("Change the value of `MAXLINES' to at least %d\n",
numberOfLines);
exit (99);
}
I am thinking of using a similar approach with the sizes of variables:
allow the PL/SQL guy to change them anytime, without having to tell
the C developer, who will find out about the change next time he tries
to run one of his programs.
-Ramon
.
- References:
- How to do the equivalent of 'describe' with a SELECT?
- From: Ramon F Herrera
- Re: How to do the equivalent of 'describe' with a SELECT?
- From: sybrandb
- How to do the equivalent of 'describe' with a SELECT?
- Prev by Date: Re: rman rman-04015 charaset problem
- Next by Date: Re: rman rman-04015 charaset problem
- Previous by thread: Re: How to do the equivalent of 'describe' with a SELECT?
- Next by thread: how to dynamically switch accessing a table from one db to another
- Index(es):
Relevant Pages
|
|