PB如何取得 sql server 自动增长型字段 在新增数据后的 值?

xslinlin 2013-08-11 04:07:35
在SQL SERVER 2005数据库中,有一个自动增长型字段 f_userid ,是也表t_user 的主键。现在新增一条记录insert into t_user(f_name,password) values(:ls_name,:ls_password); 后 ,需要立即取得 该表(t_user)的主键即自动增长型字段f_userid的值,请问如何取得?
查看资料可以用:ident_current (' table ') 来取得。可在PB里应该如何写代码?请高手帮助。非常感谢。
...全文
274 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2013-08-25
  • 打赏
  • 举报
回复
引用 楼主 xslinlin 的回复:
在SQL SERVER 2005数据库中,有一个自动增长型字段 f_userid ,是也表t_user 的主键。现在新增一条记录insert into t_user(f_name,password) values(:ls_name,:ls_password); 后 ,需要立即取得 该表(t_user)的主键即自动增长型字段f_userid的值,请问如何取得? 查看资料可以用:ident_current (' table ') 来取得。可在PB里应该如何写代码?请高手帮助。非常感谢。
long ll_id select max(f_userid) into :ll_id from t_user;
生命沉思者 2013-08-24
  • 打赏
  • 举报
回复

 INSERT INTO t_user
             (f_name,
              password)
 VALUES      (:ls_name,
              :ls_password);
 
 --方法一
 SELECT Scope_identity() --SCOPE_IDENTITY 只返回插入到当前作用域中的值
 INTO   :ll_index
 FROM   userobjects;
 
 --方法二 
 SELECT Ident_current('TableName') --Ident_current 不受作用域和会话的限制,而受限于指定的表。
 INTO   :ll_index
 FROM   userobjects;

网络环境下取得的也一样的
xslinlin 2013-08-11
  • 打赏
  • 举报
回复
谢谢,SKY_4K_PPM 我试了一下:table 是表名 userobjects 也是表名。 而且他们是同一个表名。 在我上面的例子中 是上面的 t_user 表 ,是这样的吗? 另外问一下在网络 环境下,用这个函数取得的 自动增长型 字段值 是 正确的吗?谢谢
SKY_4K_PPM 2013-08-11
  • 打赏
  • 举报
回复
select ident_current('table') into :ll_index from userobjects;

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧