2011-01-28 5 views
0

データベースを自動的にバックアップしたいので、2つのデータベースがあります.1つはすべてのデータ、もう1つは各テーブルの比率です。 20% - 列に基づいて。1つの列に基づいてテーブルの比率を自動的にバックアップする方法はありますか?

+0

具体的にしてください。各テーブルの比率はどのくらいですか? – ThomasMcLeod

+0

テーブル内のデータの割合を意味します –

+0

たとえば、各テーブルの行の20%が必要ですか?私はそれを理解することができますが、私はあなたがそれをやめないようにしています。私が確信していないのは、「列に基づいて」という意味です。 –

答えて

0

これは私の最初の試みです。

create table t1 (
id integer primary key, 
val integer not null); 

create table t2 (
id integer primary key, 
val integer not null); 

insert into t1 values (1,1000); 
insert into t1 values (2,1000); 
insert into t1 values (3,1000); 
insert into t1 values (4,1000); 
insert into t1 values (5,1000); 
insert into t1 values (6,1000); 
insert into t1 values (7,1000); 
insert into t1 values (8,1000); 
insert into t1 values (9,1000); 
insert into t1 values (10,1000); 
insert into t1 values (11,1000); 

insert into t2 
select id, val 
from t1 
where (val >= 1000) 
    and (rownum <= cast((0.2 * (select count(*) from t1)) as integer)); 
+0

私の最初の答えは 'WHERE句の'不明な列 'rownum'です。 ' – Mchl

+0

@Mchl: "rownum"はOracle構文です。 MySQLの構文では、この特定のコンテキストで "LIMIT"を使用していると思います。私はそれをテストするためにMySQLをインストールしていません。 –

+0

@Mchl:おそらく 'LIMIT <= 'の代わりに' LIMIT 'のようなものを使う必要があります。 –

関連する問題