
最近写过一个类似的例子,跟你要求的几乎一样,你可以参考一下结构和思想,改一下表什么的就行,希望对你有帮助:
创建存储过程:P_UPDATE_ST_HACHUJ_ALL_G
输入参数:P$PO_DT date型
输出参数:P$RET number型
存储过程具体的 *** 作
首先获取采购日期 (P$PO_DT)当月的采购信息(ST_HACHUJ_ALL)。
然后将取得的数据插入ST_HACHUJ_ALL_G表中 或者 更新 ST_HACHUJ_ALL_G表
(PO_NO在ST_HACHUJ_ALL_G中不存在,数据插入ST_HACHUJ_ALL_G,SEQ值= 0;
PO_NO在ST_HACHUJ_ALL_G中存在,更新ST_HACHUJ_ALL_G,SEQ值+ 1)。
CREATE OR REPLACE PROCEDURE P_UPDATE_ST_HACHUJ_ALL_G2
(P$PO_DT IN DATE,P$RET OUT NUMBER)
AS
V$CGXX ST_HACHUJ_ALL% ROWTYPE;
V$PO_NO NUMBER( 10);
CURSOR CUR_A
IS
SELECT T1
FROM ST_HACHUJ_ALL T1
WHERE TO_CHAR(T1PO_DT,'YYYYMM' )=TO_CHAR(P$PO_DT,'YYYYMM');
BEGIN
P$RET:=0;
OPEN CUR_A;
LOOP
FETCH CUR_A INTO V$CGXX;
EXIT WHEN CUR_A%NOTFOUND;
SELECT COUNT ()INTO V$PO_NO FROM ST_HACHUJ_ALL_G WHERE PO_NO=V$CGXXPO_NO;
IF V$PO_NO>0 THEN
UPDATE ST_HACHUJ_ALL_G SET CO_CD=V$CGXXCO_CD,REV=V$CGXXREV,SPPL_CD=V$CGXXSPPL_CD,PSPPL_CD=V$CGXXPSPPL_CD,PO_DT=V$CGXXPO_DT,LAST_DLV_DT=V$CGXXLAST_DLV_DT,
PURC_DPT_CD=V$CGXXPURC_DPT_CD,PURC_USR_CD=V$CGXXPURC_USR_CD,PO_SHET_ISSU_COMPL_FLG=V$CGXXPO_SHET_ISSU_COMPL_FLG,SCST_SHET_ISSU_COMPL_FLG=V$CGXXSCST_SHET_ISSU_COMPL_FLG,ABR_PO_FLG=V$CGXXABR_PO_FLG,
INCTRMS_CD=V$CGXXINCTRMS_CD,UKEBASHO_CD=V$CGXXUKEBASHO_CD,PAY_COND_CD=V$CGXXPAY_COND_CD,CUR_CD=V$CGXXCUR_CD,XCNTRCT_FLG=V$CGXXXCNTRCT_FLG,XRATE_DT=V$CGXXXRATE_DT,XRATE=V$CGXXXRATE,XCNTRCT_NO=V$CGXXXCNTRCT_NO,
NOT_BILL_ACC_FLG=V$CGXXNOT_BILL_ACC_FLG,TRD_TYP=V$CGXXTRD_TYP,SUBCON_FLG=V$CGXXSUBCON_FLG,PAY_COMPL_FLG=V$CGXXPAY_COMPL_FLG,PAY_DT=V$CGXXPAY_DT,IV_TGT_FLG=V$CGXXIV_TGT_FLG,RMRKS=V$CGXXRMRKS,APPROVAL_FLG=V$CGXXAPPROVAL_FLG,
APPROVAL_NO=V$CGXXAPPROVAL_NO,APPROVAL_SEQ=V$CGXXAPPROVAL_SEQ,APRV_TYP=V$CGXXAPRV_TYP,LAST_APV_USR_ID=V$CGXXLAST_APV_USR_ID,APV_ABSTRACT=V$CGXXAPV_ABSTRACT,NEXT_OPR_FLG=V$CGXXNEXT_OPR_FLG,PO_SHET_NO=V$CGXXPO_SHET_NO,
INS_TS=V$CGXXINS_TS,INS_USR_CD=V$CGXXINS_USR_CD,UPD_CNTR=V$CGXXUPD_CNTR,UPD_TS=V$CGXXUPD_TS,UPD_USR_CD=V$CGXXUPD_USR_CD,SEQ=SEQ+ 1
WHERE PO_NO=V$CGXXPO_NO;
ELSE
INSERT INTO ST_HACHUJ_ALL_G (PO_NO,CO_CD,REV,SPPL_CD,PSPPL_CD,PO_DT,LAST_DLV_DT,PURC_DPT_CD,PURC_USR_CD,PO_SHET_ISSU_COMPL_FLG,SCST_SHET_ISSU_COMPL_FLG,ABR_PO_FLG,
INCTRMS_CD,UKEBASHO_CD,PAY_COND_CD,CUR_CD,XCNTRCT_FLG,XRATE_DT,XRATE,XCNTRCT_NO,NOT_BILL_ACC_FLG,TRD_TYP,SUBCON_FLG,
PAY_COMPL_FLG,PAY_DT,IV_TGT_FLG,RMRKS,APPROVAL_FLG,APPROVAL_NO,APPROVAL_SEQ,APRV_TYP,LAST_APV_USR_ID,APV_ABSTRACT,NEXT_OPR_FLG,
PO_SHET_NO,INS_TS,INS_USR_CD,UPD_CNTR,UPD_TS,UPD_USR_CD,SEQ)
VALUES (V$CGXXPO_NO,V$CGXXCO_CD,V$CGXXREV,V$CGXXSPPL_CD,V$CGXXPSPPL_CD,V$CGXXPO_DT,V$CGXXLAST_DLV_DT,V$CGXXPURC_DPT_CD,
V$CGXXPURC_USR_CD,V$CGXXPO_SHET_ISSU_COMPL_FLG,V$CGXXSCST_SHET_ISSU_COMPL_FLG,V$CGXXABR_PO_FLG,V$CGXXINCTRMS_CD,V$CGXXUKEBASHO_CD,V$CGXXPAY_COND_CD,
V$CGXXCUR_CD,V$CGXXXCNTRCT_FLG,V$CGXXXRATE_DT,V$CGXXXRATE,V$CGXXXCNTRCT_NO,V$CGXXNOT_BILL_ACC_FLG,V$CGXXTRD_TYP,
V$CGXXSUBCON_FLG,V$CGXXPAY_COMPL_FLG,V$CGXXPAY_DT,V$CGXXIV_TGT_FLG,V$CGXXRMRKS,V$CGXXAPPROVAL_FLG,V$CGXXAPPROVAL_NO,
V$CGXXAPPROVAL_SEQ,V$CGXXAPRV_TYP,V$CGXXLAST_APV_USR_ID,V$CGXXAPV_ABSTRACT,V$CGXXNEXT_OPR_FLG,V$CGXXPO_SHET_NO,
V$CGXXINS_TS,V$CGXXINS_USR_CD,V$CGXXUPD_CNTR,V$CGXXUPD_TS,V$CGXXUPD_USR_CD,0 );
END IF ;
END LOOP ;
CLOSE CUR_A;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUTPUT_LINE( '无值');
ROLLBACK;
WHEN OTHERS THEN
P$RET:= SQLCODE;
ROLLBACK;
END;
现在的兄弟不负责解释 老说一点点
这是我的一个实例 你看看吧 对应该有帮助
SqlConnection conn = new SqlConnection(EccDBConnstr);
connOpen();
SqlCommand cmd = new SqlCommand();
cmdConnection = conn;
//插入数据到临时表
string sLine;
FileStream fs = new FileStream(path + @"\" + STATFileName, FileModeOpen, FileAccessRead);
StreamReader sr = new StreamReader(fs,EncodingGetEncoding("GB2312"));
StringBuilder str = new StringBuilder();
while (srPeek() >= 0)
{
sLine = srReadLine();
//忽略表头
if (sLineLength > 0)
{
sLine = sLineReplace(",", ",");
ArrayList list = GetSplitKeys(sLine, ConvertToChar(','));
strAppendLine(" insert into Sub(id,type,BizCode,BizName,Serv_code,OprTime,Region_code,Op_name,Op_number) values('" + list[0] + "','" + list[1] + "','" + list[2] + "',N'" + list[3] + "','" + list[4] + "','" + GetDate(list[5]ToString()) + "','" + list[6] + "',N'" + list[7] + "','" + list[8] + "') ");
}
}
//thistextBox1Text = strToString();
//return;
cmdCommandText = strToString();
cmdExecuteNonQuery();
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2、接着在窗口上,点击左上角工具栏里“新建查询”按钮。
3、再者在窗口上,输入同时修改一张表里的多个数据的sql语句“update test2 set grade = 100, no = 20”。
4、其次在窗口上,点击左上方工具栏里“执行”按钮。
5、最后在窗口上,显示同时修改一张表里的多个数据成功。
operator
指─(b)该阀容许它所接驳的贮油缸或管道在不让汽体排出大气中或空气被吸进该贮油缸或管道内的情况下,出现相对而言属轻微的增压或减压;"拥有人"(owner) 就油站而言,包括拥有油站的一部份的人;" *** 作员"(operator) 指将受管制车辆上的汽油卸入贮油缸的人;
2 OP,OPR Operator
OM old man 老朋友 | OP,OPR Operator *** 作员 | POBOX post office Box 邮政信箱
3 OPER
OD 外径 | OPER *** 作员 | PARAM 参数
4 Operations Clerk
Operational Manager管理经理 | Operations Clerk *** 作员 | Personal Assistant私人助理
*** 作员 网络例句
1 I think he's a great operator
我认为他是一个伟大的 *** 作员。
2 All the operator has to do is tell it where to go
所有的 *** 作员去做的是告诉它该去哪里。
3 The operator said calmly:"First, you should make sure that he is already dead"
*** 作员冷静地说:"第一,你要确认他是不是已经死了。"
4 In word processing, a basic unit of work to be accomplished by the operator
在字处理技术中,由 *** 作员完成的一种基本工作单位。
5 In future, this will create more opportunities for data entry operators across the industry
今后,这将创造更多的机会,数据输入 *** 作员的行业。
6 Each machine operators in the process of production will continue
每一台机器的 *** 作员在生产过程中会进行持续的检验。
7 I'm a keyboard operator
我是一名键盘 *** 作员。
以上就是关于数据库大神请进,求助一句SQL全部的内容,包括:数据库大神请进,求助一句SQL、怎样解析一个XML文档并把解析的数据导入数据库、SQL数据库如何同时修改一张表里的多个数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)