freshman2017
Goto Top

MSSQL Script für MySQL nutzen?

Guten Tag liebe Gemeinde,

ich nutze derzeit für einen Import einer TXT Datei in MSSQL unten stehenden Code. Ich kann diesen ja über sqlcmd ausführen lassen . Meine Frage, wie wäre der Code, wenn ich das ganze mit mysql nutzen möchte?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = N'TEST')  

BEGIN 
		CREATE DATABASE [TEST]
END

GO

USE TEST

GO

/***********************************************************************************************************************************************************/

IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='test_1_tmp')  
DROP Table test_1_tmp

GO

IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='test_1_tmp')  
CREATE TABLE test_1_tmp

	(
	ID VARCHAR(8000)
	)

GO

IF NOT EXISTS (SELECT column_name FROM INFORMATION_SCHEMA.columns WHERE table_name = 'test_1_tmp' AND column_name = 'wert1')  
 
ALTER TABLE test_1_tmp ADD wert1 VARCHAR(8000)

GO

IF NOT EXISTS (SELECT column_name FROM INFORMATION_SCHEMA.columns WHERE table_name = 'test_1_tmp' AND column_name = 'wert2')  
 
ALTER TABLE test_1_tmp ADD wert2 VARCHAR(8000)

GO

/***********************************************************************************************************************************************************/


BULK INSERT test_1_tmp
FROM 'C:\ProgramData\test.txt' WITH  

	(
	FIELDTERMINATOR = ';',  
	ROWTERMINATOR = '\n'  
	)

GO

/***********************************************************************************************************************************************************/

IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='test_1')  
CREATE TABLE test_1

	(
	ID VARCHAR(8000)
	)

GO

IF NOT EXISTS 
	(
	SELECT column_name 
	FROM INFORMATION_SCHEMA.columns 
	WHERE table_name = 'test_1'  
	AND column_name = 'wert1'  
	)
 
ALTER TABLE test_1 ADD wert1 VARCHAR(8000)

GO

IF NOT EXISTS 
	(
	SELECT column_name 
	FROM INFORMATION_SCHEMA.columns 
	WHERE table_name = 'test_1'  
	AND column_name = 'wert2'  
	)
 
ALTER TABLE test_1 ADD wert2 VARCHAR(8000)

GO

/***********************************************************************************************************************************************************/

MERGE test_1 t 

USING test_1_tmp s ON 
	
	(
	s.ID = t.ID
	)
	
WHEN MATCHED THEN UPDATE SET 
    
	t.ID = s.ID,
	t.wert1 = s.wert1,
	t.wert2 = s.wert2
	
WHEN NOT MATCHED BY TARGET THEN INSERT 
	
	(
	ID, wert1, wert2
	)
    
VALUES
	
	(
	s.ID, s.wert1, s.wert2
	);

/***********************************************************************************************************************************************************
	
WHEN NOT MATCHED BY SOURCE THEN DELETE;

************************************************************************************************************************************************************/

GO

/***********************************************************************************************************************************************************/

IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='test_1_tmp')  

DROP Table test_1_tmp

GO

/***********************************************************************************************************************************************************/
/***********************************************************************************************************************************************************/
/***********************************************************************************************************************************************************/

Content-ID: 537344

Url: https://administrator.de/forum/mssql-script-fuer-mysql-nutzen-537344.html

Ausgedruckt am: 10.04.2025 um 14:04 Uhr

it-frosch
it-frosch 20.01.2020 aktualisiert um 10:39:33 Uhr
Goto Top
Hallo freshman,

nimm dir die MYSQL Syntax Referenz deiner verwendeten MySQL Version
und setze dein Skript um.
Das ist ein gute Übung, wenn du soetwas bisher noch nicht gemacht hast.

Beispiel:
Bulk insert (MSSQL) wird LOAD DATA (MySQL) MySQL Syntax


grüße vom it-frosch
ukulele-7
ukulele-7 20.01.2020 um 09:46:51 Uhr
Goto Top
So ziemlich alles wäre anders...