两条sql语句,望高手能详细解析,感激不尽,奖30

来源:百度知道 编辑:UC知道 时间:2024/06/15 01:20:59
Declare @ID int; Declare @ERR int; INSERT INTO Orders VALUES( @Date,@UserId, @ShipAddress, @ShipZip, @ShipCountry, @BillAddress, @BillZip, @BillCountry, @BillFirstName,@ShipFirstName,@Total); SELECT @ID=@@IDENTITY; SELECT @ERR=@@ERROR

UPDATE item SET productid=(SELECT TOP 1 productid FROM product ORDER BY productid DESC) WHERE ISNULL(productid,8)=8

首先搞清楚里面的系统变量
@@IDENTITY 这个返回插入的标识列值,看语法估计是你订单主键
@@ERROR 这个是是否产生错误,凡是@@ERROR<>0 都是有错误

--定义2变量存放系统变量值
Declare @ID int; Declare @ERR int;
--向订单表插入数据
INSERT INTO Orders VALUES( @Date,@UserId, @ShipAddress, @ShipZip,
@ShipCountry, @BillAddress, @BillZip, @BillCountry,
@BillFirstName,@ShipFirstName,@Total);
--将系统变量的值赋值给上面定义的局部变量
SELECT @ID=@@IDENTITY; SELECT @ERR=@@ERROR

--ISNULL 如果productid为NULL值就用8去代替
--这局的做法是将在item表无产品ID的记录更新为 产品(product)表中最小ID
UPDATE item SET productid=(
SELECT TOP 1 productid FROM product ORDER BY productid DESC
)
WHERE ISNULL(productid,8)=8