create proc au_info @lastname varchar(40),@firstname varchar(20),@au_name varchar(100) OUTPUT
asselect @au_name=au_lname+au_fname
from authors inner join titleauthor on authors.au_id=titleauthor.au_id
join titles on titleauthor.title_id=titles.title_id
join publishers on titles.pub_id=publishers.pub_id
where au_fname=@firstname
and au_lname=@lastname
go
asselect @au_name=au_lname+au_fname
from authors inner join titleauthor on authors.au_id=titleauthor.au_id
join titles on titleauthor.title_id=titles.title_id
join publishers on titles.pub_id=publishers.pub_id
where au_fname=@firstname
and au_lname=@lastname
go
DECLARE @firstname varchar(20)
DECLARE @au_name varchar(100)
SELECT @lastname = ''
SELECT @firstname = ''
SELECT @au_name = ''
EXEC [pubs].[dbo].[au_info] @lastname, @firstname, @au_name OUTPUT
DECLARE @firstname varchar(20)
DECLARE @au_name varchar(100)
SELECT @lastname = 'Green'
SELECT @firstname = 'Marjorie'
SELECT @au_name = ''
EXEC [pubs].[dbo].[au_info] @lastname, @firstname, @au_name OUTPUT print @au_name
--GreenMarjorie
DECLARE @firstname varchar(20)
DECLARE @au_name varchar(100)
SELECT @lastname = ''
SELECT @firstname = ''
SELECT @au_name = ''
EXEC [pubs].[dbo].[au_info] @lastname, @firstname, @au_name OUTPUT
print @au_name用参数名称显示是空的
SELECT @au_name = ''
EXEC [pubs].[dbo].[au_info] 'Green','Marjorie', @au_name OUTPUT
SELECT @au_name 这样执行得到的值是空得吗,如果是那就是没有符合条件的记录,否则肯定有值