|
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SP_RUIMEI_GETPATIENTINFO]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SP_RUIMEI_GETPATIENTINFO]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE SP_RUIMEI_GETPATIENTINFO
@patno varchar(20),
@pattype varchar(10)
AS
--参数:patno 病人代号
-- pattype 病人类型,3为住院病人,其它为门诊病人
--说明:建立临时表,结构如下,将信息写入到临时表中,返回一个结果集,如果没有找到病人信息返回空的结果集
-- 无法取到的信息设置为空值
create table #tmp_patinfo(
patno varchar (20) NULL , --病人代号
pattype varchar (20) NULL , --病人类型,3住院,其它门诊
patna varchar (20) NULL , --病人姓名
sex char (2) NULL , --性别
birth datetime null, --生日
bedno varchar (20) NULL , --床号
feetype varchar (20) NULL , --费别,自费,医保等
srcdepno varchar (20) NULL , --病人科室代号
srcdocno varchar (20) NULL , --申请医生代号
diagnose varchar(100) NULL , --诊断
bk varchar(255) NULL ) --备注
if @pattype = '3' --住院病人
begin
--举例
insert into #tmp_patinfo(patno,pattype,patna,sex,birth,bedno,feetype,srcdepno,srcdocno,diagnose,bk)
values('12345',@pattype,'测试者','男',null,'210','自费','001','111','肝炎','')
end
else --门诊病人
begin
--举例
insert into #tmp_patinfo(patno,pattype,patna,sex,birth,bedno,feetype,srcdepno,srcdocno,diagnose,bk)
values('12345',@pattype,'测试者','男',null,'','自费','001','111','肝炎','')
end
select * from #tmp_patinfo
return 0
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
以上的存储过程,举例后面的程序是什么?如果本数据库存中有以上的内容(patno,pattype,patna,sex,birth,bedno,feetype,srcdepno,srcdocno,diagnose,bk),但对应以上的内容字段名不同,如PAT-ID对应PATNO等,如何通过PATID调出记录对应(patno,pattype,patna,sex,,bedno,feetype,srcdepno,srcdocno,diagnose,bk),以上内容在二个不同的表中。如何才能调用出记录,请帮我编一个范例。假设表A中PATID,NAME,SEX,DATEOFBIRTH,BEDID对应patno,patna,sex,birth,bedno。表B中有字段名和其他的对应,索引为PATID. |
|