MS SQL 存储过程(39)

  • 主题发起人 主题发起人 xin92002
  • 开始时间 开始时间
X

xin92002

Unregistered / Unconfirmed
GUEST, unregistred user!
MS SQL2000存储过程下面是我向表 tb_pjaccount 中插入记录 insert into tb_pjaccount (pj_serialid,pj_classno,pj_classname,pj_depno,pj_depname,pj_rsno,pj_reno,pj_r_num,pj_ck,pj_dep_num) values (@pj_pc,@pj_lb,@pj_mc,@pj_depno,@pj_depname,@pj_noqishi,@pj_nozhongzhi, @pj_nonum,@pj_nock,@pj_num )想请教的是:1.pj_serialid字段下插入记录为 现有字段下最大数+1 这个用MAX(pj_serialid)能实现吧具体如何实现2.这几个字段pj_classno,pj_classname,pj_depno,pj_depname,插入后想用该表中记录下默认值请问大侠 如何改
 
这是整个的存储过程CREATE procedure pj_noinsert @pj_pc int, @pj_lb char(10), @pj_mc char(50), @pj_depno char(6), @pj_depname char(50), @pj_noqishi varchar(30), @pj_nozhongzhi varchar(30), @pj_nonum decimal, @pj_nock char(20), @pj_num char(3) as begin insert into tb_pjaccount (pj_serialid,pj_classno,pj_classname,pj_depno,pj_depname,pj_rsno,pj_reno,pj_r_num,pj_ck,pj_dep_num) values (@pj_pc,@pj_lb,@pj_mc,@pj_depno,@pj_depname,@pj_noqishi,@pj_nozhongzhi, @pj_nonum,@pj_nock,@pj_num ) endGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO1.pj_serialid字段下插入记录为 现有最大数字为5 则我们输入的则为第六批6 这个用MAX(pj_serialid)+1能实现吧(具体怎么实现我还是不很明白)具体如何实现?2.这几个字段pj_classno,pj_classname,pj_depno,pj_depname,插入后想用该表中记录下默认值
 
1。set @pj_pc=(select max(pj_serialid) + 1 from table )2.pj_classno,pj_classname,pj_depno,pj_depname这几个字段先取上默认值到@pj_lb,@pj_mc,@pj_depno,@pj_depname这五个变量赋值后用INSERT 语句就可以了。
 
关键是我的@pj_lb,@pj_mc,@pj_depno,@pj_depname变量对应的字段pj_classno,pj_classname,pj_depno,pj_depname在数据库里会根据不同的客户 值是不同的
 
你不要再用存储过程了!你根本就什么也不懂。
 
大哥!~ 小弟确实不太会但是、、、、、、你是不是没有看懂有些东西我可以用默认值有些东西我要 查询该表中的现有记录 根据这个记录再插入1· Do you know?
 
关键是我的@pj_lb,@pj_mc,@pj_depno,@pj_depname变量对应的字段pj_classno,pj_classname,pj_depno,pj_depname在数据库里会根据不同的客户 值是不同的 --------------------------------值是不同的?废话,要不然为什么都是变量呢?变量就是可变的!明白了吧!
 
晕.这个问题还搞这么久1.pj_serialid字段下插入记录为 现有字段下最大数+1 这个用MAX(pj_serialid)能实现吧查下现表最大pj_serialid+1就OK了,复杂一点就在做一个procedure专门负责编号2.这几个字段pj_classno,pj_classname,pj_depno,pj_depname,插入后想用该表中记录下默认值做几个变量保存当前记录就OK了
 
分给你了[:(!]不过 希望你说话的口气能注意一下措辞你也是从不会过来的吧
 
后退
顶部