update 表 set
where id=(
select top 1 id from 表 order by id desc
)
SQL Server 查询最后一条记录有两种方法,一种是使用TOP命令,一种是使用LIMIT命令,具体方法如下:
1、使用TOP
SELECT TOP 1 * FROM user
SELECT TOP 1 * FROM user order by id desc
2、 使用LIMIT
SELECT * FROM user LIMIT 1
SELECT * FROM user ORDER BY id ASC LIMIT 1
SELECT * FROM user ORDER BY id DESC LIMIT 1
扩展资料:
SQL函数
1、算数函数
ABS (数值),绝对值
MOD (被除数, 除数),求余
ROUND (对象数值, 保留小数的位数),四舍五入
2、字符串函数
CONCAT (字符串1, 字符串2, 字符串3),拼接
LENGTH (字符串),字符串长度
LOWER (字符串),小写
UPPER (字符串) ,大写
REPLACE (对象字符串,替换前的字符串,替换后的字符串),替换
SUBSTRING(对象字符串 FROM 截取的起始位置 FOR 截取的字符数),截取
参考资料来源:百度百科-SqlServer
添加判断语句,判断有时,就修改一是多写几个更新语句,一次更新一个字段
二是把更新语句,拼接成string形式,最后一次执行.
或用 @@rowcount判断是否存在:
create procedure alStuentsInfor
@StuId char(10),
@StuImage IMAGE=null,
@StuName varchar(20)=null,
@StuSex char(5)=null, @StuAge smallint=null
AS
BEGIN
UPDATE dbo.Students
SET iStuImage = ISNULL(@StuImage,iStuImage),
vStuName = ISNULL(@StuName,vStuName),
cStuSex = ISNULL(@StuSex,cStuSex),
sStuAge = ISNULL(@StuAge,sStuAge)
WHERE cStudentsId = @StuId
IF @@ROWCOUNT>0
RETURN 0
ELSE
begin
PRINT'NO RECORDS FOUND!'
RETURN 1
END
END
GO
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)