请帮我看下SQL语句那些错了

来源:百度知道 编辑:UC知道 时间:2024/07/06 17:49:26
delete from bigclass,smallclass,smallclasser where bigclass.id=smallclass.id=smallclasser.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 = * ?

有人解答得很好了