如何写存储过程(200分)

  • 主题发起人 主题发起人 seeok
  • 开始时间 开始时间
S

seeok

Unregistered / Unconfirmed
GUEST, unregistred user!
有两张表:一张是固定的,一张是可以变的,如:
固定表:tablename fieldname fieldvalue state
08003
08005
可变的表:guestid nameid tdikl
08001
08002
则先面要得到的数是08004,就是找两个表中没有的且是最小的
要写一个存储过程,过程有3个参数,是stablename,sfieldname,svalue,其中svalue是返回值,
各位高手,帮帮忙
 
把意思讲明白一点先?三个参数的主要作用?
 
stablename,sfieldname,svalue
第一个是表名,就是可变表的名字,有很多个表,一个表就有一个名字第二个是字段名,
第三个是返回值,就如上面所说的08004
 
declear cursor aa
select fieldvalue as a from table1
union select as a guestid from table2
order by a
然后按顺序一个个记录分析
只能这样
 
同意楼上的做法!
在oracle中,这种union缺省状态下自动进行了排序(从小到大)。
再进行分析,你的目标就可以达到啦!
 
问题是那张可变的表,如果表不同的话,那它的字段也就不相同了啊!!
 
存储过程的输入参数不是有字段名吗?所有需要的内容都可以作为参数传给存储过程。
只是由于表名也是参数,在存储过程中必须使用动态SQL语句来实现。
 
那请问一下动态SQL语句怎么写阿?
 
这个就比较难以回答啦!
和你所用的数据库有关,到你去查资料的时候啦!
 
所谓动态SQL语句,能不能先凑出一个STRING,后用EXECUTE()执行的?
 
我有个实例发给你,不过要给分哦
 
接受答案了.
 
后退
顶部