这样是只能写在存储过程里面执行是吗,直接执行语句好像不行。
追答可以直接执行的 但是要分多个查询窗口 不能一起执行。
不过直接执行语句只是用来查看效果的,如果要实现这个功能,需要放到存储过程里面执行
刚才在存储过程里试了一下,如果>=1能删除主键,但是我发现删除前查出来的数值是4(但我只设置了两列为主键),删除后还能查出数值为2,这是怎么回事呢?感谢解答。
追答可以把你的sql语句给我看下吗?
追问我把表删除重建了一边就正常了,语句是能用的,只是不知道之前的表明明取消了主键还是能查出约束,外键,索引什么的都没有。
追答你把sql语句发我看下 就这样我也不知道是什么情况
追问分开执行是正常的,但主键和索引的放一起执行就会出现明明没有主键但是查出的@PrimaryNum确为2,导致删除主键异常
select count(*) PrimaryNum
from INFORMATION_SCHEMA.KEY_COLUMN_USAGE t
where t.TABLE_NAME ='test'
and t.CONSTRAINT_NAME = 'PRIMARY'
你弄成这样试下