query on procedure

query on procedure

am 23.05.2007 08:06:18 von meendar

Hi,

Please see the below procedure.



create procedure a1
as
begin

create table #table1
{
empid int;
empname varchar
}
insert into #table1 select empid,empname from employee where
empcode='50'

select e.* from employee e, #table1 as t1 where e.empid=t1.empid and
e.empname=t1.empname; /* query1 */

end




In location query1,empid , empname in #table1 substitutes all the
values at the time, i need to substitute each value individually in
location query1.

Is there any way to do this?

Re: query on procedure

am 23.05.2007 21:29:46 von Ed Murphy

meendar wrote:

> create procedure a1

I trust your production code will have meaningful procedure names.

> create table #table1
> {
> empid int;
> empname varchar
> }

Should be

empid int,
empname varchar(30) -- or whatever

> insert into #table1 select empid,empname from employee where
> empcode='50'
>
> select e.* from employee e, #table1 as t1 where e.empid=t1.empid and
> e.empname=t1.empname; /* query1 */

Why are you doing this, instead of simply

select * -- you should really have an explicit list of fields
from employee
where empcode = '50'

Does the 'employee' table really have both empcode and empid? If
so, then are they both enforced as unique?

> In location query1,empid , empname in #table1 substitutes all the
> values at the time, i need to substitute each value individually in
> location query1.
>
> Is there any way to do this?

I don't understand what you mean. Please provide an example of what
it does now, and of what you want it to do instead.