帮我看看这个SQL储存过程怎么改

来源:百度知道 编辑:UC知道 时间:2024/05/03 09:00:38
题目是:创建带参数的存储过程FIND_ISBN,查找以特定语言写的书,返回isbn,title,language,cover等信息。存储过程检查输入参数值,如果没有书名则给出提示信息。如果没有指定特定语言,默认为中文。
我写出来的语句是
create proc find_isbn
@TT varchar(35) default '中文'
begin
if (@TT is null)
output "请输入书目名"
end
as
select item.isbn, title.title, title.language, title.cover
from title, item
where title.title_no=item.title_no

但是一直报错 说
服务器: 消息 156,级别 15,状态 1,过程 find_isbn,行 2
在关键字 'default' 附近有语法错误。
服务器: 消息 137,级别 15,状态 1,过程 find_isbn,行 4
必须声明变量 '@TT'。

请问各位是什么回事啊???在线等答案啊~~~

create proc find_isbn(@TT varchar(35))
begin
If @TT=''
set @TT='中文'
begin
if (@TT is null)
output "请输入书目名"
end
as
select item.isbn, title.title, title.language, title.cover
from title, item
where title.title_no=item.title_no
end
首先你要传参数进去才行,而且我感觉@TT 的值不可能为NULL

create proc find_isbn(
@TT varchar(35) )
as
begin
begin
if (@TT is null)
output "请输入书目名"
end
as
select item.isbn, title.title, title.language, title.cover
from title, item
where title.title_no=item.title_no
end

create proc find_isbn
@TT varchar(35) = “中文”
as
begin
if (@TT is null)
output "请输入书目名"
end
as
select item.isbn, title.title, title.language, title.cover
from title, item
where title.title_no=item.title_no