Subject | What is the BEST method to find if a record exists? |
---|---|
Author | Michael L. Horne |
Post date | 2004-11-16T22:06:36Z |
Hello,
I need to check to see if a record exists from inside a
stored procedure. What is the best code to use?
The methods I know of are:
1.
NO_RECORD_EXISTS = 'FALSE';
select count(*) from testfile where testfield='xxxxx' into :numrecords;
if (numrecords = 0) then NO_RECORD_EXISTS = 'TRUE';
2.
NO_RECORD_EXISTS = 'FALSE';
for select testfield from testfile where testfield='xxxxx' into :testfield
do begin
NO_RECORD_EXISTS = 'TRUE';
end
3. /* this one doesn't seem to work correctly and I am not sure why */
NO_RECORD_EXISTS = 'FALSE';
select first 1 testfield from testfile where testfield='xxxxx' into
:testfield;
if (testfield = null) then NO_RECORD_EXISTS = 'TRUE';
-------
But these all seem like a difficult set of things to do to find out if a
record exists, so is there a better way and what is it?
Thanks
Michael L. Horne
I need to check to see if a record exists from inside a
stored procedure. What is the best code to use?
The methods I know of are:
1.
NO_RECORD_EXISTS = 'FALSE';
select count(*) from testfile where testfield='xxxxx' into :numrecords;
if (numrecords = 0) then NO_RECORD_EXISTS = 'TRUE';
2.
NO_RECORD_EXISTS = 'FALSE';
for select testfield from testfile where testfield='xxxxx' into :testfield
do begin
NO_RECORD_EXISTS = 'TRUE';
end
3. /* this one doesn't seem to work correctly and I am not sure why */
NO_RECORD_EXISTS = 'FALSE';
select first 1 testfield from testfile where testfield='xxxxx' into
:testfield;
if (testfield = null) then NO_RECORD_EXISTS = 'TRUE';
-------
But these all seem like a difficult set of things to do to find out if a
record exists, so is there a better way and what is it?
Thanks
Michael L. Horne