3.pr_update_wlclient.sql

来自「学习PB入门的好帮手,附件中包含以下文件夹」· SQL 代码 · 共 44 行

SQL
44
字号
/*----本存储过程pr_update_wlclient用于触发器tr_clientbuybill_insert------	*/
/*功能:更新客户往来明细和客户往来总帐以及客户档案*/
/*参数3:更新方向+or-									*/
/*参数4:客户id							*/
/*参数8:更新金额*/
/*作者:吕勇									*/
/*日期:2006-04-10								*/
/*版本:v1.0									*/
/*修改人:										*/
/*修改日期:									*/

GO
IF EXISTS(SELECT name FROM sysobjects
      WHERE name = 'pr_update_wlclient' AND type = 'P')
   DROP PROCEDURE pr_update_wlclient
GO
--USE ercdata
GO
CREATE PROCEDURE pr_update_wlclient 
@ls_direct char(1),
@ls_clientid char(36),
@ldb_acramt money
WITH ENCRYPTION
AS
declare @ll_count     int
	--尽管在应用程序中已经加入限制:必须输入客户\供应商代号(客户\供应商类型),但以防万一,若用户没有输入客户\供应商代号,则此处将给客户\供应商代号(客户\供应商类型)赋值
	if isnull(@ls_clientid,'') = ''
		select @ls_clientid ='nullclient'
	--如需要,则初始化客户档案
	select @ll_count = count(*) from f_client where c_clientid = @ls_clientid
    if @ll_count <1 
		insert into f_client (c_clientid,i_balance) values(@ls_clientid,0)
	--正向
	if @ls_direct = '+'
			update f_client set i_balance = i_balance - @ldb_acramt  where c_clientid = @ls_clientid
	else if   @ls_direct = '-' 
			update f_client set i_balance = i_balance + @ldb_acramt  where c_clientid = @ls_clientid
	if @@error <> 0
		begin
			rollback tran
			return
		end 

GO

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?