随笔备忘

//创建临时表空间
create temporary tablespace test_temp
tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

//创建数据表空间
create tablespace test_data
logging
datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

//创建用户并指定表空间
create user testserver_user identified by testserver_user
default tablespace test_data
temporary tablespace test_temp;

//给用户授予权限
grant connect,resource to testserver_user; (db2:指定所有权限)
grant dba to  name;(用于赋予DBA权限)否在在数据导入导出是会出现(ERROR 只有DBA才能导入其他DBA导出的数据)

//导入导出命令
  imp userName/userPwd@sid  file='D:/ddd.dmp' full = y

  exp userName/userPwd@sid  file='D:/ddd.dmp' ignore = y
 
 
=======================================2011.7.13================================


//-------存储过程中可以用这样的方式进行值存储
select field_a ,field_b  into a,b from table2 where field_c=c;


//----存储过程可以放在packge 里    还有  packge_bodies

============================================2011.7.17===========================
业务逻辑判断很是累人

============================================2011.7.21============================

用于存储大文件
  bool TUpLoadTxtData::loadTxtData1(AnsiString sqlhead,AnsiString filePath)
{
    AnsiString sql = "",strTmp = "",strCell = "";
    TStringList *sl = new TStringList();
    sql = "begin ";
    sl->Clear();
    sl->LoadFromFile(filePath);
    for (int i = 1;i < sl->Count;i++)
    {
        int j=28;

        sql += sqlhead;

        strTmp = sl->Strings[i].Trim();
        while(j>0){
        strCell = strTmp.SubString(0,strTmp.Pos("\t") - 1);
        strTmp = strTmp.SubString(strTmp.Pos("\t") + 1,strTmp.Length());
        sql += strCell + "','";
        /*strCell = strTmp.SubString(0,strTmp.Pos(" ") - 1);
        strTmp = strTmp.SubString(strTmp.Pos(" ") + 1,strTmp.Length());
        sql += strCell + "','";   */
        j--;  }
        sql += strTmp + "');";
        //ShowMessage(sql);
        if (i%1000 == 0)
        {
             sql += " commit;end;";
             try
             {
                dm->oq_txtData->Close();
                dm->oq_txtData->SQL->Clear();
                dm->oq_txtData->SQL->Add(sql);
                dm->oq_txtData->ExecSQL();
                dm->oq_txtData->Close();
             }
             catch(...)
             {
                dm->oq_txtData->Close();
                sl->Free();
                sl = NULL;
                return false;
             }
             sql = "begin ";
        }

    }

    if (sql != "begin ")
    {
        sql += " commit;end;";
        try
        {
        dm->oq_txtData->Close();
        dm->oq_txtData->SQL->Clear();
        dm->oq_txtData->SQL->Add(sql);
        dm->oq_txtData->ExecSQL();
        dm->oq_txtData->Close();
        }
        catch(...)
        {
        dm->oq_txtData->Close();
        sl->Free();
        sl = NULL;
        return false;
        }
    }

    sl->Free();
    sl = NULL;
    return true;
}

======================2011.7.21===
update TO_FTFYMX f set
 mx_rygz =(select sum(b.bzxx_bzls * l.ltftz) from to_bzxx b,tmp_ltftz l
where b.bzxx_xxdm=l.cx and b.bzxx_ctlxdm=l.cz and l.ltftmc='旅客列车服务人员工资及福利费' and b.bzxx_wsfcc=f.mx_cc)

=====================2011.7.24====
sql语句中进行字符串连接的语句
  update td_jzd set jzd_jmc =  jzd_jmc||'局'
======================2011.8.2======
总结以前的

    TIniFile *iniPTASS = new TIniFile(".\\para_PTASS.ini");
    OraSession1->Username = iniPTASS->ReadString("database","username","ptass");
    OraSession1->Password = iniPTASS->ReadString("database","password","ptass");

    OraSession1->Server = iniPTASS->ReadString("database","ip","127.0.0.1") + ":1521:" + iniPTASS->ReadString("database","sid","ptass");
    iniPTASS->Free();
    try
    {
        OraSession1->Connected = false;
        OraSession1->Connect();
    }
    catch(...)
    {
        ShowMessage("服务器连接错误");
        Application->Terminate();
    }
//-------------------------------------------------------------------------------------------------------------

try{
       
         dm->hs_show->Close();
         dm->hs_show->SQL->Clear();
         dm->hs_show->SQL->Add(sql);
         dm->hs_show->Open();
         dm->hs_show->First();

         if(dm->hs_show->RecordCount<1)
         {

            ShowMessage("没有相关信息!");
            return;

         }

         while(!dm->hs_show->Eof)
         {

             asg_ykhs->Cells[0][asg_ykhs->RowCount-1]=Trim(dm->hs_show->FieldByName("HS_SFRQ")->AsString);
             dm->hs_show->Next();
             asg_ykhs->RowCount++;

         }

         asg_ykhs->RowCount--;
         dm->hs_show->Close();


   }
   catch(...)
   {

      dm->hs_show->Close();
      ShowMessage("检索数据库失败没有asg_ykhs相关信息!");


   }

=========================================================2011.8.15=====
UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)
 WHERE ID IN (SELECT B.ID FROM B WHERE A.ID = B.ID)
 
 
========================================================2011.8.18=======
两个整型数,不准用if 、switch 、?:等判断语句求出两者最大值

int max (n[])
{

 return  n[(n[0]-n[1])>>31&1]  //可以求得


}

=======================================================2011.8.19========
merge into test_cc a
using
(
  select id,name,to_char(sum(to_number(flag))) as flag
  from test_cc
  group by id,name
) b
on (a.id=b.id and a.name=b.name)
when matched then
  update SET a.flag = b.flag;

---删除重复行

delete A where rowid not in (select min(rowid) from A group by id,name,date);

--select 查询多条进行更新
update   id   set   (a,b,c)=(select   a,b,c   from   ida   where   ida.id=id.id);


=========================================================================

转载于:https://www.cnblogs.com/we1700/archive/2011/08/22/2149005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值