私はJMPテーブルからMySQLデータベースに保存しています。保存時に作成されるMySQLカラムのデータ型を制御できますか?
また、MySQL内で自分のスキーマを設計し、JMPからそれに行を追加しようとすると、JMPは既存のMySQL列のデータ型を認識/尊重しますか?
これはMS SQLのためのものですが、MySQLのための同じ考えであるはずです。テーブルの29列からのデータを期待しているストアドプロシージャがあります。ご覧のとおり、日付には少し作業が必要です。私はJSLを使用して、SQL管理プログラムに入力する文字列を作成しています。コードの終わりは、JMPの欠損値をNULLに交換します。
テーブルからデータを取得するコードがあります(無視する列が0の行のみ)。ポストクエリビルダーコードは、「選択された値の更新」と呼ばれるスクリプトとしてこのJSLをデータテーブルに追加します。ユーザが関係している限り、彼らはデータテーブルを直接編集しています。
ストアドプロシージャは、value1がNULLかどうかを確認します。その場合、新しい行を追加してIDを生成します。IDがvalue1に指定されている場合は、古いエントリをIgnore = 1に設定してから、指定されたIDとIgnore = 0を使用して新しいエントリを追加します。
dbc = Create Database Connection(
"ODBC:..."
);
value1 = Column( Current Data Table(), 1 ) << Get Values;
value2 = Column( Current Data Table(), 2 ) << Get Values;
value3 = Column( Current Data Table(), 3 ) << Get Values;
value4 = Column( Current Data Table(), 4 ) << Get Values;
value5 = Column( Current Data Table(), 5 ) << Get Values;
value6 = Column( Current Data Table(), 6 ) << Get Values;
value7 = Column( Current Data Table(), 7 ) << Get Values;
value8 = Column( Current Data Table(), 8 ) << Get Values;
value9 = Column( Current Data Table(), 9 ) << Get Values;
value10 = Column( Current Data Table(), 10 ) << Get Values;
value11 = Column( Current Data Table(), 11 ) << Get Values;
value12 = Column( Current Data Table(), 12 ) << Get Values;
value13 = Column( Current Data Table(), 13 ) << Get Values;
value14 = Column( Current Data Table(), 14 ) << Get Values;
value15 = Column( Current Data Table(), 15 ) << Get Values;
value16 = Column( Current Data Table(), 16 ) << Get Values;
value17 = Column( Current Data Table(), 17 ) << Get Values;
value18 = Column( Current Data Table(), 18 ) << Get Values;
value19 = Column( Current Data Table(), 19 ) << Get Values;
value20 = Column( Current Data Table(), 20 ) << Get Values;
value21 = Column( Current Data Table(), 21 ) << Get Values;
value22 = Column( Current Data Table(), 22 ) << Get Values;
value23 = Column( Current Data Table(), 23 ) << Get Values;
value24 = Column( Current Data Table(), 24 ) << Get Values;
value25 = Column( Current Data Table(), 25 ) << Get Values;
value26 = Column( Current Data Table(), 26 ) << Get Values;
value27 = Column( Current Data Table(), 27 ) << Get Values;
value28 = Column( Current Data Table(), 28 ) << Get Values;
value29 = Column( Current Data Table(), 29 ) << Get Values;
rowsToUpdate = Current Data Table() << get selected rows;
NrowsToUpdate = N Rows( rowsToUpdate );
If( NrowsToUpdate > 0,
For( i = 1, i <= NrowsToUpdate, i++,
insertString =
"DECLARE @RC int
EXECUTE @RC = [DBNAME].[dbo].[SPNAME]
";
valueString = "";
j = rowsToUpdate[i];
valueString = valueString || Char( value1[j] ) || ",'" || Char( value2[j] )
|| "','" || Char( value3[j] ) || "','" || Char( value4[j] ) || "','" ||
Char( value5[j] ) || "','" || Char( value6[j] ) || "','" ||
Char( value7[j] ) || "','" || Char( value8[j] ) || "','" ||
Char( value9[j] ) || "','" || Char( value10[j] ) || "','" ||
Char( value11[j] ) || "','" || Char( value12[j] ) || "','" ||
Char( value13[j] ) || "','" || Char( value14[j] ) || "','" ||
Char( value15[j] ) || "','" || Char( value16[j] ) || "'," ||
Char( value17[j] ) || "," || Char( value18[j] ) || "," || Char( value19[j] )
|| "," || Char( value20[j] ) || "," || Char( value21[j] ) || "," ||
Char( value22[j] ) || ",'" || Char( value23[j] ) || "','" ||
Char( value24[j] ) || "','" || Char( value25[j] ) || "','" ||
Char( value26[j] ) || "','" || Char(
Substitute( Format( value27[j], "y/m/d h:m:s" ), "/", "" )
) || "','" || Char(
Substitute( Format( value28[j], "y/m/d h:m:s" ), "/", "" )
) || "','" || Char( value29[j] ) || "'";
insertString = insertString || valueString;
insertString = Substitute( insertString,
".,", "NULL,",
",''", ",NULL",
",,", ",NULL,",
"'.'", "NULL"
);
dt = Execute SQL( dbc, insertString );
);
Close Database Connection( dbc );
);こんにちはスティーブン、
ありがとうございます。私の例として、あなたはあなたのコードの数行を共有することができるでしょうか?トラブルが多すぎるとわかります。
ジョン