代码改变世界

如何更新clob类型的内容

2019-01-24 11:23  改改~_~  阅读(3407)  评论(0编辑  收藏  举报

一、手工测试流程:

 1、测试需求(待执行用例)

2、标准化测试流程

1/5

 --修改 result_info
 --用户风控信息表
  select sysdate,t.*,t.rowid from finser.td_s_cro_account t 
   where t.cro_id = 14 and user_name = '王亮'and user_phonetel='13986671119'
  order by t.create_time desc;
  
  --修改后提交
  commit;

 

2/5

  Delete from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD a where a.name = '王亮';
   commit;

3/5

 UPDATE finser.cf_loan_release a SET a.status = 50 WHERE a.order_no ='MFJK-SJInTest2021-11-05-05-39-20-1' ; 
    commit;

4/5(可选)

   
 --切时间后提现超时执行以下脚本
 
 UPDATE finser.cf_main_control b SET b.status =10 WHERE b.status = -1 and b.order_no ='MFJK-SJInTest2021-11-05-05-39-20-1' ; 
  commit;

5/5

  --查看是否命中
  --用户风控记录表,查看REMARK
  select sysdate,t.*,t.rowid from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD t 
  where name ='王亮'
  order by t.create_time desc;

3、流程重复性说明

1/5,2/5,3/5,5/5为重复操作

1/5修改变量的值;5/5查看结果

二、解决方案研究

 

import requests
import json
import unittest
import HTMLTestRunner
#- [x] sqlplus finser/finser2015X@//10.139.39.43:1524/sjw2
import pandas as pd
import time

import pymysql
import cx_Oracle
#解决乱码问题
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

id1=18  #风控id
bianliang = 'ir_m3_cell_x_name_cnt'

#B环境
# myydb =cx_Oracle.connect(host = '10.139.39.43',user = 'finser',passwd = 'finser2015X',port=1524,database ='sjw2',charset='utf-8' )
#A环境
mydb=cx_Oracle.connect("finser/finser2015X@//223.203.128.4:15331/sjw1")
mycursor = mydb.cursor()

#1/5
'''
如何更改clob类型的数据,以下可以读取出来,但是更新不成功???
'''
sql = " select t.RESULT_INFO from finser.td_s_cro_account t where t.cro_id = {0} and user_name = '王亮'and user_phonetel='13986671119'  ".format(id1)
mycursor.execute(sql)
pram = []
for i in mycursor:
    text = i[0].read()
    pram.append(text)
# print('text:',text)
# print('pram:',pram)
print('text的类型:',type(text)) #text的类型: <class 'str'>
print('pram的类型:',type(pram)) #pram的类型: <class 'list'>


dict1 = eval(text) #将字符串类型数据转变为字典类型
print('dict1的类型',type(dict1))
print('dict1',dict1["data"])

dict2 = dict1["data"]
print('dict2的数据类型:',type(dict2))  #dict2的数据类型: <class 'dict'>
print('取出一个变量的值',dict2[bianliang])

# mydb.close()
# mycursor.close()

# dict2[] = 0

#2/5
sql2 = "Delete from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD a where a.name = '王亮';"
mycursor.execute(sql2)

#设置等待n秒后再继续执行后面的程序
time.sleep(2)

#3/5
sql3 = "UPDATE finser.cf_loan_release a SET a.status = 50 WHERE a.order_no ='MFJK-SJInTest2021-11-05-05-39-20-1';"
mycursor.execute(sql3)


#设置等待n秒后再继续执行后面的程序
time.sleep(3)

#5/5
#查询结果是否命中
sql4 = "select t.REMARK,T.MESSAGE from finser.TD_S_CRO_ACCOUNT_HANDLE_RECORD t where name ='王亮'"
mycursor.execute(sql4)

myresult = mycursor.fetchall()
# print(myresult)
# print(type(myresult)) #<class 'list'>
mystr = str(myresult) #list转换为str
if 'Y' in mystr:
    print('未命中')
if 'N' in mystr:
    print('命中')