Ich speichere aus JMP-Tabellen in eine MySQL-Datenbank. Kann ich den MySQL-Spaltendatentyp steuern, der beim Speichern erstellt wird?
A: Wenn ich also mein Schema in MySQL entwerfe und versuche, Zeilen aus JMP hinzuzufügen, hat / kennt JMP den Datentyp der vorhandenen MySQL-Spalten?
Dies ist für MS SQL, aber es sollte dieselbe Idee für MySQL sein. Ich habe eine gespeicherte Prozedur, die die Daten aus den 29 Spalten der Tabelle erwartet. Wie Sie sehen, brauchen Termine ein bisschen Arbeit. Ich baue eine Zeichenfolge mit JSL, die ich in jedes SQL-Verwaltungsprogramm eingeben würde. Das Ende des Codes tauscht JMP-Werte für NULL aus.
Ich habe einen Code, der die Daten aus der Tabelle abruft (nur die Zeilen, in denen die Spalte ignorieren = 0 ist). Der Post Query Builder-Code hängt dann diese JSL als Skript mit dem Namen "Ausgewählte Werte aktualisieren" an die Datentabelle an. Vom Benutzer aus bearbeiten sie die Datentabelle direkt.
Die gespeicherte Prozedur prüft, ob value1 NULL ist. In diesem Fall fügt sie eine neue Zeile hinzu und generiert eine ID. Wenn eine ID in Wert1 angegeben ist, wird der alte Eintrag Ignore = 1 festgelegt. Anschließend wird ein neuer Eintrag mit der angegebenen ID und Ignore = 0 hinzugefügt.
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 );
);Hi Stephen,
Vielen Dank! Könnten Sie ein paar Zeilen Ihres Codes als Beispiel für mich freigeben? Wenn zu viel Ärger, verstehe ich.
John