请帮我看下SQL语句那些错了
来源:百度知道 编辑:UC知道 时间:2024/07/06 17:49:26
delete from bigclass,smallclass,smallclasser where bigclass.id=smallclass.id=smallclasser.id=@id
@id是传进来的参数,我要实现的是删除三张表里具有相同ID数据的功能 ,不知道合在一起写效率会不会高点?还有代码写对了吗
@id是传进来的参数,我要实现的是删除三张表里具有相同ID数据的功能 ,不知道合在一起写效率会不会高点?还有代码写对了吗
不能这么操作
这样写命令就会不准确,要删除哪个表中的记录呢?程序会无法识别。
如果要删除一条记录,同时也让其他表中的记录也删除。可以使用存储过程。
/*定义存储过程*/
create proc ps_deletestudents
@userid int
as
delete from bigclass where userid = @userid
delete from smallclass where userid = @userid
delete from smallclasser where userid = @userid
go
/*执行存储过程*/
exec ps_deletestudents @userid = 2
go
执行存储过程时exec ps_deletestudents @userid = 2 其中@userid 是被制定要删除记录学号,学号是几 就把2改成几
delete一次只能删除一张表。
写三句。
数据量小没啥区别。10万条以内。
不对,bigclass.id=smallclass.id=smallclasser.id=@id 数据库里不能这样写的
执行存储过程时exec ps_deletestudents @userid = 2 其中@userid 是被制定要删除记录学号,学号是几 就把2改成几
所有呢。?exec ps_deletestudents @userid = * ?
有人解答得很好了