日期:2014-05-17  浏览次数:20455 次

数据存储 求助啊 谁能帮忙解答一下啊
使用带有参数的简单过程
CREATE PROCEDURE au_info    
@lastname varchar(40),    @firstname varchar(20) 
AS SELECT au_lname, au_fname, title, pub_name    
FROM authors a INNER JOIN titleauthor ta       
ON a.au_id = ta.au_id INNER JOIN titles t       
ON t.title_id = ta.title_id INNER JOIN publishers p       
ON t.pub_id = p.pub_id    WHERE  au_fname = @firstname       
AND au_lname = @lastname 
GO   
 能一步一步帮吗讲解一下吗
------最佳解决方案--------------------
CREATE PROCEDURE au_info
    @lastname VARCHAR(40) ,--参数,传入名字
    @firstname VARCHAR(20)--参数,传入名字,这里估计是首字母
AS 
    SELECT  au_lname ,
            au_fname ,
            title ,
            pub_name
    FROM    authors a  --authors表(别名为a)关联titleauthor别名 ta 再关联titles别名 t再关联publishers别名 p,即4个表连起来,on后面的分别就是表与表之间的关联字段。
            INNER JOIN titleauthor ta ON a.au_id = ta.au_id
            INNER JOIN titles t ON t.title_id = ta.title_id
            INNER JOIN publishers p ON t.pub_id = p.pub_id
    WHERE   au_fname = @firstname  --筛选a表的名字等于第二个参数
            AND au_lname = @lastname --筛选a表的名字为第一个参数的值
GO
   
------其他解决方案--------------------
1楼大神解释的很清楚!
------其他解决方案--------------------
谢谢大神。。。。。。