高分求存储过程!马上给分!急

xinlimei 2003-09-18 10:01:51
基础表 :BYH
dygz char(5),dyhlb char(5) ....
以上两个字段存储的是编码 需要和另两个表的编码关联,才能得到其名称

表 YGZ
bm char(5) ,mc char(50)

表 YHLB
bm char(5) ,mc char(50)

求存储过程 :
传递两个参数 dygz ,dyhlb
分别执行两次查询 例如
select mc from YGZ where YGZ.bm=@dygz
select mc from YHLB where YHLB.bm=@dYHLB
最后将结果返回

谢谢了 !!!!
...全文
70 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinlimei 2003-09-18
  • 打赏
  • 举报
回复
to mjhnet(天涯沦落人)

您的代码是正确的

谢谢大家

我先结贴
如果再有问题 开新贴
谢谢大家了
zarge 2003-09-18
  • 打赏
  • 举报
回复
不太明白楼主的意思,最好再描述具体一点的说
xinlimei 2003-09-18
  • 打赏
  • 举报
回复
to zarge(鲨至) ( )
您的不行啊! 和刚才是一样的
我是希望 查不到数据的时候 也能有一个空行
而不是下面 的 顶替上来

参数那个问题已经解决了

现在就声这个存储过程了
一共7 条select
希望可以产生正确的 7 行的 记录疾
谢谢大家
zarge 2003-09-18
  • 打赏
  • 举报
回复
create procedure test @dygz char(5),@dyhlb char(5)
As

select nullif(mc, null) as mc from YGZ where YGZ.bm=@dygz
Union all
Select nullif(mc, null) as mc from YHLB where YHLB.bm=@dYHLB
xinlimei 2003-09-18
  • 打赏
  • 举报
回复
JSP 中调用出现如下错误

java.sql.SQLException: [Microsoft][SQLServer JDBC Driver][SQLServer]形式参数 '@dyhlb' 定义为 OUTPUT,但实际参数却未声明为 OUTPUT。

什么意思 ?
xinlimei 2003-09-18
  • 打赏
  • 举报
回复
to txlicenhe(马可&不做技术高手) (
可以出现 空列
可是 现在正确的参数值 也没有数据了
exec yhtz'150010','11'

可是我要是把 150010 直接放到 过程中 不使用变量传
就有 !
mjhnet 2003-09-18
  • 打赏
  • 举报
回复
create procedure test @dygz char(5),@dyhlb char(5)
As

Select @dygz as bm, IsNull((select mc from YGZ where YGZ.bm=@dygz),'') as mc
Union all
Select @dYHLB, IsNull((Select mc from YHLB where YHLB.bm=@dYHLB),'')

aierong 2003-09-18
  • 打赏
  • 举报
回复



函数可以解决问题


CREATE function dbo.fun(@dygz char(5),@dyhlb char(5))
returns table
as
return
(
Select IsNull((select mc from YGZ where YGZ.bm=@dygz),'') as mc
Union all
Select IsNull((Select mc from YHLB where YHLB.bm=@dYHLB),'')
)

dafu71 2003-09-18
  • 打赏
  • 举报
回复
空记录行???不能
pengdali 2003-09-18
  • 打赏
  • 举报
回复
create proc 过程名 @dygz char(50),@dYHLB char(50)
as
select mc from YGZ where bm=@dygz
union all
select mc from YHLB where bm=@dYHLB
go
txlicenhe 2003-09-18
  • 打赏
  • 举报
回复
那就这样:
create procedure test @dygz char(5),@dyhlb char(5)
As

Select IsNull((select mc from YGZ where YGZ.bm=@dygz),'') as mc
Union all
Select IsNull((Select mc from YHLB where YHLB.bm=@dYHLB),'')


xinlimei 2003-09-18
  • 打赏
  • 举报
回复
另外希望参数是返回的
既将rs("mc") 作为参数返回
可以吗?
dafu71 2003-09-18
  • 打赏
  • 举报
回复
空记录行???不能
xinlimei 2003-09-18
  • 打赏
  • 举报
回复
谢谢您 ! 你的代码是正确的 !
可是 如果某一个select查询不到结果的话,这个记录集的下一行就会变成上一行
我希望查询不到数据也可以在记录集中有一行,值是空也可以
这个存储过程一共有 7 个查询 希望最后的记录集也可以有7 行
能作到吗?
dlkfth 2003-09-18
  • 打赏
  • 举报
回复
create procedure test @dygz char(5),@dyhlb char(5)
As

select mc from YGZ where YGZ.bm=@dygz
Union all
select mc from YHLB where YHLB.bm=@dYHLB

insert into 表 exec test '34','344'
lionstar 2003-09-18
  • 打赏
  • 举报
回复
create procedure test @dygz char(5),@dyhlb char(5)
As

select mc from YGZ where YGZ.bm=@dygz
Union all
select mc from YHLB where YHLB.bm=@dYHLB
txlicenhe 2003-09-18
  • 打赏
  • 举报
回复
create procedure test @dygz char(5),@dyhlb char(5)
As

select mc from YGZ where YGZ.bm=@dygz
Union all
select mc from YHLB where YHLB.bm=@dYHLB
xinlimei 2003-09-18
  • 打赏
  • 举报
回复
是将所有select 结果的mc 返回

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧