DB2临时表无法创建的解决方法

DB2临时表无法创建的问题的确很让我们头疼,下面就为您介绍一个解决DB2临时表无法创建问题的方法,希望对您学习DB2临时表方面能有所帮助。

  1. procedure TXXXForm.lc_procHandleStandard(strpo:string; xPOSEQ:Integer);//HXYADD----24/09/2010----  
  2. var  
  3. strFieldList:string;//A-JW-02-351101-01  
  4. begin  
  5. strFieldList:='XNAME VARCHAR(80),'#13#10  
  6.                +'XKIND VARCHAR(20),'#13#10  
  7.                +'ENAME VARCHAR(20),'#13#10  
  8.                +'CNAME VARCHAR(20),'#13#10  
  9.                +'XBIAO VARCHAR(80),'#13#10  
  10.                +'XCODE INTEGER,'#13#10  
  11.                +'XGRADE INTEGER ';  
  12. strTmpTableName:=lc_CreatTmpTable(strFieldList);  
  13. if strTmpTableName='' then  
  14. begin  
  15.     Messagebox(handle,'无法创建 [执行标准资料] 临时表﹗','提示信息',mb_Ok);  
  16.     Exit;  
  17. end;//*)  
  18. qry6.Close;  
  19. qry6.SQL.Clear;  
  20. qry6.SQL.Add('DELETE FROM '+strTmpTableName);  
  21. qry6.ExecSQL;  
  22.  
  23. qry6.Close;  
  24. qry6.SQL.Clear;  
  25. qry6.SQL.Add('INSERT INTO '+strTmpTableName);  
  26. qry6.SQL.Add('(XNAME,XKIND,ENAME,CNAME,XBIAO,XCODE,XGRADE)');  
  27. qry6.SQL.Add('SELECT VALUE(K.PROD_NAME,''''),');  
  28. qry6.SQL.Add('       CASE K.PROD_KIND WHEN 0 THEN ''0 原色产品'' ');  
  29. qry6.SQL.Add('            WHEN 1 THEN ''1 水洗产品'' ');  
  30. qry6.SQL.Add('         ELSE ''X 不分类'' END PROD_KIND,');  
  31. qry6.SQL.Add('       VALUE(A.COLOR_ENG_NAME,''''),');  
  32. qry6.SQL.Add('       VALUE(A.COLOR_CHN_NAME,''''),');  
  33. qry6.SQL.Add('       VALUE(K.ZHIXIN_BIAO,''''),');  
  34. qry6.SQL.Add('       K.S_CODE,');  
  35. qry6.SQL.Add('       A.COLOR_GRADE ');  
  36. qry6.SQL.Add(' FROM GSSAL.SAL_PO_DTLA A ');  
  37. qry6.SQL.Add(' LEFT JOIN GSSAL.SAL_PO X ON (X.PO_NO=A.PO_NO AND X.GEN_POSEQ=A.GEN_POSEQ) ');  
  38. qry6.SQL.Add(' LEFT JOIN GSSAL.SAL_KIND K ON (K.S_CODE=VALUE(A.PROD_CODE,X.PROD_CODE)) ');  
  39. qry6.SQL.Add(' WHERE A.PO_NO=:PO_NO AND A.GEN_POSEQ=:GEN_POSEQ');  
  40. qry6.SQL.Add('   AND VALUE(K.ISVALID,''N'')=''Y'' ');  
  41. qry6.SQL.Add(' ORDER BY K.PROD_NAME,A.COLOR_ENG_NAME ');  
  42. qry6.ParamByName('PO_NO').AsString:=strpo;  
  43. qry6.ParamByName('GEN_POSEQ').AsInteger:=xPOSEQ;  
  44. qry6.ExecSQL;  
  45. qry6.Close;  
  46. qry6.SQL.Clear;  
  47. qry6.SQL.Add('SELECT * ');  
  48. qry6.SQL.Add('FROM '+strTmpTableName);  
  49. qry6.Open;  
  50. end;  
  51. -----------------------------------------------------------------------------------------------------------------------------------   
  52. function TXXXForm.lc_CreatTmpTable(strFieldList:string):string;  
  53. var  
  54. strTableName:string;  
  55. blnSuccess:boolean;  
  56. i:integer;  
  57. function lc_funcCreatTable(strFieldList,strTableName: string):Boolean;  
  58. var  
  59.     qryCreatTemp:TQuery;  
  60. begin  
  61.     Result:=False;  
  62.     qryCreatTemp:=TQuery.Create(self);  
  63.     with qryCreatTemp do  
  64.     begin  
  65.       DatabaseName:='GSCOMDB';  
  66.       SQL.Clear;  
  67.       SQL.Add('CREATE TABLE '+strTableName+' ('+strFieldList+') IN USERSPACE1 ');  
  68.       try  
  69.         ExecSQL;  
  70.         Result:=True;  
  71.       except  
  72.       end;  
  73.     end;  
  74.     qryCreatTemp.Free;  
  75. end;  
  76. begin  
  77. Result:='';//如果创建不成功则返回空字符串。  
  78. strTableName:='GSTMP.TMP_'+FormatFloat('0',now*10000000)+'';  
  79. for i:=1 to 50 do//循环 50次﹐再不能创建则退出。  
  80. begin  
  81.     blnSuccess:=lc_funcCreatTable(strFieldList,strTableName);  
  82.     if blnSuccess then //如果创建成功则返回表名﹐同时退出。  
  83.     begin  
  84.       Result:=strTableName;  
  85.       Exit;  
  86.     end;  
  87. end;  
  88. end;  
  89. -----------------------------------------------------------------------------------------------------------------------------------   
  90. procedure TXXXForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);  
  91. begin  
  92. lstUser.Free;  
  93. if strTmpTableName<>'' then  
  94. begin  
  95.     lc_DeleteTable(strTmpTableName);  
  96.     strTmpTableName:='';  
  97. end;   
  98. end;  
  99. -----------------------------------------------------------------------------------------------------------------------------------   
  100. function TXXXForm.lc_DeleteTable(strTableName:string):Boolean;  
  101. var  
  102. qryDeleteTemp:TQuery;  
  103. begin  
  104. Result:=False;  
  105. qryDeleteTemp:=TQuery.Create(Self);  
  106. with qryDeleteTemp do  
  107. begin  
  108.     DatabaseName:='GSCOMDB';  
  109.     SQL.Clear;  
  110.     SQL.Add('DROP TABLE '+strTableName);  
  111.     try  
  112.       ExecSQL;  
  113.       Result:=True;  
  114.     except  
  115.     end;  
  116. end;  
  117. qryDeleteTemp.Free;  
  118. end;  
  119. -----------------------------------------------------------------------------------------------------------------------------------   

 

 

 

 

【编辑推荐】

带您了解DB2锁的类型

db2表空间被锁的解决方法

DB2添加验证约束的实现

DB2创建表空间的方式

Linux中DB2用户组的介绍

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/225578.html<

(0)
管理的头像管理
上一篇2025-04-16 23:25
下一篇 2025-04-16 23:27

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注