这是我的情况,我有一张PRODUCTS
桌子
create table PRODUCTS
(
ID_PRODUCTS CHAR(10) primary key not null,
NAME CHAR(30),
PRICE INTEGER
)
然后我用一些数据填充它,......
insert into PRODUCTS values('B1','Samsung Galaxy Ace 2',250)
insert into PRODUCTS values('B2','Samsung Galaxy Tab 3',375)
insert into PRODUCTS values('B3','Samsung Galaxy Note 2',700)
insert into PRODUCTS values('B4','Apple iPod Touch',200)
insert into PRODUCTS values('B5','Apple Macbook Pro',1250)
然后我想创建一个存储函数来搜索基于表中NAME
列的关键字的数据PRODUCTS
。例如,当我使用Samsung
关键字执行该函数时,它应该显示一个名称中包含单词的列表Samsung
。我希望名单是这样的
ID_PRODUCTS | NAME | PRICE
========================================
B1 | Samsung Galaxy Ace 2 | 250
B2 | Samsung Galaxy Tab 3 | 375
B3 | Samsung Galaxy Note 2 | 700
这是代码,但执行时它什么也不显示(select * from dbo.products_fun
)
create function product_fun
(
@name char(30)
)
returns TABLE
as
return
(select * from products where name like '%@name%')
我认为它什么也没显示,因为查询
select * from products where name like '%@name%'
这不是在变量@name 中搜索关键字,.. 而是搜索关键字“@name”,... 这就是为什么它在执行时什么都不显示的原因。有人要帮忙吗???