偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Oracle MySQL動態(tài)表的實際解決方案

數(shù)據(jù)庫 Oracle
我們今天主要和大家一起討論的是Oracle MySQL動態(tài)表的實際解決辦法,本文主要是從MySQL存儲過程的實例來進行講述的。

下面的文章主要講述的是Oracle MySQL動態(tài)表的實際解決辦法,我們大家都知道,CRM需要定期將相關的數(shù)據(jù)導回到其CRM數(shù)據(jù)庫(目的DB:Oracle;源DB:MySQL);但是因為目前增長量不太大,,,而今后會比較大.由于Oracle MySQL數(shù)據(jù)庫不是我建的。

還是決定登上去看一下,主表沒有一個字段可以***標識一比記錄的,也就是說我目前只會面臨.我導數(shù)據(jù)的同時有新的數(shù)據(jù)錄入,明顯會出問題.程序員又不在,,,之前一直都只管Oracle,馬上要讓玩MySQL,看來只得現(xiàn)學現(xiàn)用了,現(xiàn)寫一個Oracle MySQL的存儲過程來實現(xiàn).讓系統(tǒng)每天產(chǎn)生后一天的表放在那里,系統(tǒng)根據(jù)時間的不同,將數(shù)據(jù)插入不同的表中,以下為實施腳本:

 

MySQL存儲過程事例:

 

 

  1. declare @t_date varchar(20);  
  2. set @t_date = '(select concat('readinfo',curdate()+0))';  
  3. mysql>delimiter && 

臨時結束符

  1. mysql>create procedure p()   
  2. ->begin   
  3. ->select * from pet;   
  4. ->end;&&   
  5. mysql>delimiter ;   
  6. mysql> call p();  

自寫Oracle MySQL存儲過程:

  1. CREATE TABLE readinfo20070726 (  
  2. eid int(11) ,  
  3. guid varchar(36) ,  
  4. ip varchar(20) ,  
  5. date varchar(20),  
  6. bookname varchar(60) ,  
  7. version int(11) ,  
  8. isvip int(11) ,  
  9. vipname varchar(80)  
  10. ENGINE=MyISAM DEFAULT CHARSET=utf8   
  11. CREATE TABLE readinfo20070727 (  
  12. eid int(11) ,  
  13. guid varchar(36) ,  
  14. ip varchar(20) ,  
  15. date varchar(20),  
  16. bookname varchar(60) ,  
  17. version int(11) ,  
  18. isvip int(11) ,  
  19. vipname varchar(80)  
  20. ENGINE=MyISAM DEFAULT CHARSET=utf8   
  21. CREATE TABLE readinfo20070728 (  
  22. eid int(11) ,  
  23. guid varchar(36) ,  
  24. ip varchar(20) ,  
  25. date varchar(20),  
  26. bookname varchar(60) ,  
  27. version int(11) ,  
  28. isvip int(11) ,  
  29. vipname varchar(80)  
  30. ENGINE=MyISAM DEFAULT CHARSET=utf8  

存儲過程:

 

  1. CREATE PROCEDURE sp_readinfo(in eid int,in guid varchar(36),in ip varchar(50))  
  2. NOT DETERMINISTIC  
  3. SQL SECURITY DEFINER  
  4. COMMENT ''  
  5. BEGIN  
  6. set @table = concat('readinfo',curdate()+0);  
  7. set @temp1 = 'insert into ';  
  8. set @temp2 = '(eid,guid,ip,date) values(';  
  9. set @value1 = eid;  
  10. set @value2 = guid;  
  11. set @value3 = ip;  
  12. set @value4 = 'now())';  
  13. set @sql_text:=concat(@temp1,@table,@temp2,@value1,',',@value2,',',@value3,',',@value4);   
  14. prepare stmt from @sql_text;  
  15. execute stmt;  
  16. end; 

這么做,,,對性能肯定會有影響,也只是暫時的,,,

附:

 

MYSQL存儲過程使用動態(tài)SQL 建多表

 

例一:循環(huán)建立字段相同滴多表 表名如: k1k k2k k3k ........

 

  1. mysql> delimiter //  
  2. mysql> create procedure ppp (in i int)  
  3. -> begin  
  4. -> declare k int;  
  5. -> set k=1;  
  6. -> while k<i do  
  7. -> set @t=k;  
  8. -> set @tname=concat('k',@t,'k');  
  9. -> set @dwhe='(id int,name varchar(255))';  
  10. -> set @sql_text:=concat('create table ',@tname,@dwhe);  
  11. -> prepare stmt from @sql_text;  
  12. -> execute stmt;  
  13. -> set kk=k+1;  
  14. -> end while;  
  15. -> end;  
  16. -> //  
  17. Query OK, 0 rows affected (0.00 sec)  
  18. mysql> call ppp(6)//  
  19. Query OK, 0 rows affected (0.86 sec) 

例二:參數(shù)做為表名 查詢

  1. mysql> create procedure pp (tname varchar(255))  
  2. -> begin  
  3. -> set @na=tname;  
  4. -> set @sql_text:='select count(*) from ';  
  5. -> set @sql_text:=concat(@sql_text,@na);  
  6. -> prepare stmt from @sql_text;  
  7. -> execute stmt;  
  8. -> end; 

上述的相關內容就是對Oracle MySQL動態(tài)表解決辦法的描述,希望會給你帶來一些幫助在此方面。

【編輯推薦】

  1. 配置Oracle RAC中應注意的問題
  2. 想提高Oracle性能,如何優(yōu)化數(shù)據(jù)庫?
  3. Oracle數(shù)據(jù)庫設計規(guī)范化的前兩個要求
  4. Oracle to_char的用法的描述
  5. Oracle to_char的用法的描述
責任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關推薦

2010-04-30 17:33:27

Oracle數(shù)據(jù)集成

2010-04-20 11:56:30

Oracle物理結構故

2010-05-04 09:34:18

Oracle em

2010-05-25 18:12:19

MySQL 安裝

2010-10-28 13:53:13

ORACLE存儲過程

2010-05-31 18:33:00

MySQL中文亂碼

2010-07-13 16:36:07

SQLServer占內

2010-06-12 13:33:12

MySQL連接池

2010-05-18 14:00:46

MySQL5.0中文問

2010-06-07 09:22:21

MySQL+PHP亂碼

2010-05-18 18:45:31

MySQL5.0中文問

2010-02-24 14:05:08

WCF openati

2018-12-03 12:07:54

南京新動態(tài)解決方案

2010-06-01 14:51:45

MySQL驅動

2010-05-07 16:30:01

Oracle數(shù)據(jù)集成

2009-05-22 09:24:00

Blue Coat網(wǎng)絡優(yōu)化安全

2011-05-05 13:13:04

深信服Oracle廣域網(wǎng)加速

2018-03-14 19:39:31

數(shù)據(jù)庫Oracle臨時表

2010-05-17 09:49:46

MySQL中文問題

2010-03-29 17:17:54

Oracle 刪除
點贊
收藏

51CTO技術棧公眾號