它提示说要把什么什么设置为ON
用java的Connection对象的哪个方法执行 SET IDENTITY_INSERT 表名 ON?
这是不是一个存储过程?
stmt=fr_conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate("SET IDENTITY_INSERT 表名 ON insert into 表名.. SET IDENTITY_INSERT 表名 OFF");
这个试了不行,还是抛一样的异常:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 '学生信息表' 中为标识列指定显式值。
我是这样搞的:
Database db = new Database();//这里封装了数据库操作
db.update("set IDENTITY_INSERT 学生信息表 on insert into 学生信息表 select * from 减少的学生 where 学生ID="+ xsid + " set IDENTITY_INSERT 学生信息表 off");
学生信息表 减少的学生 这两张表一模一样。只是 前者学生ID是自动增1,后者不增。
还有:列1,列2,列3... sql server中是可以不要的。
如果写了列的话,语法是错的,出错说:
第 1 行: '学生ID' 附近有语法错误。