日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle中primary,oracle中如何 Primary key自增

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中primary,oracle中如何 Primary key自增 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

oracle中如何 Priamry key自增

摸索了一晚上,終于實現了key的自增,現在將實現的過程總結如下:

(1)首先創建一個表:這里是我創建的一個User表,包括id,user_name,password三個字段

實現的函數如下:

public void create(String tableName) {

jdbcTemplate.execute("create table "+tableName+"(id integer,user_name varchar2(40),password varchar 2(40),primary key (id))");

}

(2)然后創建一個序列:

String sql="create sequence "+seq //這里的seq是我自定義的序列名

+ " start with 8"

+ "increment by 1"

+ "minvalue 1"

+ "maxvalue 999999"

+ "nocycle nocache";

jdbcTemplate.execute(sql);

(3)為主鍵id設置自增:

String sql1="insert into td(id) values (seq.NEXTVAL)";

jdbcTemplate.execute(sql1);

(4)創建觸發器:

String sql2="create trigger tri_user before insert on td for each row begin select seq.NEXTVAL into :new.id from dual;end;";

jdbcTemplate.execute(sql2);

注意這里的語法要寫正確,我開始沒寫正確,出現了錯誤:

(5)插入數據

我自己寫了一個save函數,如下:

public void save(User user) {

//Assert.isNull(user, "user is not null");

jdbcTemplate.update("insert into td(id,user_name,password) values(?,?,?)",

new Object[]{user.getId(),user.getUser_name(),user.getPassword()},

new int[]{java.sql.Types.INTEGER,java.sql.Types.VARCHAR,java.sql.Types.VARCHAR});

}

我的測試類如下:

public class jdbcTest {

@Test

public void test() {

ApplicationContext ctx = new ClassPathXmlApplicationContext(

"/beans.xml");

UserDAO userDAO = (UserDAO) ctx.getBean("userDAO");

User u3=new User();

u3.setUser_name("cwww");

u3.setPassword("123456");

userDAO.save(u3);

}

不斷插入后生成的表如下:

總結

以上是生活随笔為你收集整理的oracle中primary,oracle中如何 Primary key自增的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。