CREATE Procedure GETMC1
@ID char(20)
,@FieldName char(5),@FieldName1 char(5),@TableName char(5),@MC char(20) output
AS
begin
declare @sql nvarchar(1000),@para nvarchar(1000)
set @sql='select @aa='+@FieldName+' from '+ @TableName+' where '+ @FieldName1+'='''+@ID+''''
set @para='@aa char(20) output'
exec sp_executesql @sql,@para,@MC output
if(@MC is null)
select @MC= 'aaa'
select @MC
END
GO
@ID char(20)
,@FieldName char(5),@FieldName1 char(5),@TableName char(5),@MC char(20) output
AS
begin
declare @sql nvarchar(1000),@para nvarchar(1000)
set @sql='select @aa='+@FieldName+' from '+ @TableName+' where '+ @FieldName1+'='''+@ID+''''
set @para='@aa char(20) output'
exec sp_executesql @sql,@para,@MC output
if(@MC is null)
select @MC= 'aaa'
select @MC
END
GO
解决方案 »
- 在线急求:MSSQLSERVER服务启动不了,怎样解决?
- 请问一下,这个Oracle版的SQL语句,怎么转换成SQL Server 2000版的...??
- 在 ms sql 中, 怎么知道当前登陆的用户名? 急!
- 小弟初学sql,这个索引应该怎样建立呢?很简单,30分,不拿白不拿啊
- 一个财务软件的SELECT 问题
- UPDATE 表中有重复记录怎么解决,在线等……
- 求一条Select语句……
- 如何找出a字段相同情况下b字段最大的那个记录
- 访问内网的服务器有时候会出现超时的情况
- 请各位大虾帮我优化一个对树的查询
- 紧急!如何将SQL Server的数据导入Oracle?
- 请问如何取得新添纪录所占硬盘的容量???
有两个表一个人员的基本信息表(编号,姓名,民族代码),一个民族表(民族代码,民族名称),我想在查询基本信息表时,显示民族名称,当然这只是一个民族表,还有诸如政治面貌这个的表,所以就想做个存储过程,分别调用
调用形式如:select getmc1('bh123','民族名称',民族代码','表名',返回参数值),getmc1(同民族参数形式)from 基本信息表
上面的存储过程不知可不可以实现,或者有没有更好的方法,谢谢指教
不就是一句SQL吗?
基本信息表:PERSON(P01[编号],P02[编号],P03[民族代码])
民族表: MIN(M01[民族代码],M02[民族名])
根据某一人员编号查所有信息:
select A.P01,A.P02,A.P03,isnull(B.M02,'无民族名称')
FROM PERSON A
LEFT JOIN MIN B ON A.P03=B.M02
WHERE P01='某一人员编号'
其他同上
create proc get_detailmsg
as
set nocount on
begin
select a.id ,a.name,b.mzh_desc
from generate a inner join minzhu b
on a.minzhu_id=b.minzhu_id
end
我有很多像民族这样的表,如果要写连接的话,要写一大串连接了