存储过程如何实现选择一项带出其相应其他多项

比如表(m)中有姓名(m.xm),年龄(m.nx),学历(m.xl),
表(k)中姓名(k.xm)选自表(m)姓名(m.xm),
当表(k)选择人员时,如何根据姓名关联,将表(m)中年龄学历带入到表K相应字段中
请问此存储过程如何去写

需要确认你的具体需求如何。
你是否是表k里也有k.nx这个字段,然后要将m.nx里的年龄按照相同的姓名填写进去?
如果是这个,那么可以参考下面的存储过程创建


CREATE PROCEDURE [dbo].[Bind_M_K] 

AS
BEGIN
    -- 声明对应m表里的字段的四个变量:id,xm,nx,xl
    declare @id int,@xm varchar(50),@nx varchar(50),@xl varchar(50);    
    -- 声明m表的游标以用于遍历表用
    declare m_cursor cursor for select * from m;
    
    --打开游标
    open m_cursor
   --开启游标获取字段内容填充入id,xm,nx,xl四个变量中,当游标未执行到表尾则执行更新
    fetch next from m_cursor into  @id,@xm,@nx,@xl
    while @@FETCH_STATUS = 0      --只要游标未到表尾则继续循环执行
    begin
        update k set nx=@nx where xm=@xm   --将变量中的对应值按条件更新到K表中
        fetch next from m_cursor into  @id,@xm,@nx,@xl  --移动游标到下一行并获取数据
    end

    close m_cursor
    deallocate m_cursor 
END


如果仅仅是在前端页面上的关联显示,就正常的多表查询按m.xm=k.xm就能查了。

此问题应该不用上升到写存储过程的地步,可以一个sql就处理掉,具体的可以使用left join进行数据的关联输出:

select k.xm,m.nx,m.xl from k k left join m m on k.xm = m.xm