注册 登录
编程论坛 SQL Server论坛

不明白 where

一刀客 发布于 2007-11-25 14:13, 854 次点击
use sales
go
create proc proc_gno
@商品名称 varchar(20),@生产厂商 varchar(30),@商品编号 int output
as
select @商品名称=商品名称
from goods
where 商品名称=@商品名称 and 生产厂商=@生产厂商
======================
不理解最后一句:where 商品名称=@商品名称 and 生产厂商=@生产厂商。
比如,不是已经:select @商品名称=商品名称 了吗?那当然:商品名称=@商品名称 了。
谁能解释一下~~
3 回复
#2
purana2007-11-25 15:19
这与select查询的顺序有关.
大概是先From产生一个关系模式
然后再Where在这个关系模式上选择行.
然后再Select在这上进行投影..
#3
orliubc2007-11-25 15:46
TO 1楼,
select @商品名称=商品名称 ---- 是新字段名称的派生
where 商品名称=@商品名称 and 生产厂商=@生产厂商 ---- 是WHERE子句的判断条件

eg:
Execute proc_gno '三星手机','三星公司',1000

**返回**
三星手机             --字段名(原来是“商品名称”)
------------------------------------
三星手机             ---字段值

[[italic] 本帖最后由 orliubc 于 2007-11-25 15:48 编辑 [/italic]]
#4
FFEEDD2007-11-25 16:00
楼主多此一举了,顶楼上的兄弟
select @商品名称=商品名称 ------------------------这里派生的太不伦不类了
from goods
where 商品名称=@商品名称 and 生产厂商=@生产厂商
1