SHN Editor - SQL Query

04/11/2017 00:54 Venipa#1
Gibt es eine "gefixte" version vom SHN Editor wo das SQL Panel die richtigen queries auspuckt? :/

Grüße,
Venipa
04/11/2017 02:03 D0n!#2
Das sql panel spuckt nur teils falsche queries aus und wurde möglicherweise auch
garnicht primär für mssql entwickelt.

mit ein paar kleinen anpassungen kannst du das query aber auch problemlos in mssql ausführen.

Als Beispiel:
Code:
DROP TABLE IF EXISTS `data_AccUpgrade`;
CREATE TABLE `data_AccUpgrade` (
`ID` INT(11) UNSIGNED,
`CriFail` SMALLINT(5) UNSIGNED,
`DownFail` SMALLINT(5) UNSIGNED,
`NormalFail` SMALLINT(5) UNSIGNED,
`nCon` SMALLINT(5) UNSIGNED,
`LuckySuc` SMALLINT(5) UNSIGNED
); 

INSERT INTO `data_AccUpgrade` (`ID`,`CriFail`,`DownFail`,`NormalFail`,`nCon`,`LuckySuc`) VALUES 
(1,0,0,0,100,200);
könnte zu:
Code:
if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'data_AccUpgrade' AND TABLE_SCHEMA = 'dbo')
    drop table dbo.data_AccUpgrade;
CREATE TABLE data_AccUpgrade (
ID INT ,
CriFail SMALLINT,
DownFail SMALLINT ,
NormalFail SMALLINT,
nCon SMALLINT,
LuckySuc SMALLINT
); 

INSERT INTO data_AccUpgrade (ID,CriFail,DownFail,NormalFail,nCon,LuckySuc) VALUES 
(1,0,0,0,100,200);
werden.

Ab SQL Server 2016 kann dann auch
Code:
DROP TABLE IF EXISTS `data_AccUpgrade`;
anstelle des umständlichem
Code:
if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'data_AccUpgrade' AND TABLE_SCHEMA = 'dbo')
    drop table dbo.data_AccUpgrade;
benutzt werden.
In vorherigen versionen existiert diese syntax jedoch nicht.
04/12/2017 00:10 Venipa#3
Da sind Syntax Fehler drinnen. (Fast überall).
Hatte es fast hingekommen doch dann hat es mehr ausgespuckt.
04/12/2017 00:12 Flainity#4
Schreib die Fehler mal hier rein. Vielleicht komm ich ja spontan auf ne kleine Lösung für die Queries.
04/12/2017 10:53 Venipa#5
mssql error:
Code:
Meldung 207, Ebene 16, Status 1, Zeile 66
Invalid column name 'LeatherBoots'.
Meldung 207, Ebene 16, Status 1, Zeile 66
Invalid column name 'Leather Boots'.
mssql insert code:
Code:
INSERT INTO dItemInfo (ID,InxName,Name,Type,Class,MaxLot,Equip,ItemAuctionGroup,TwoHand,AtkSpeed,DemandLv,Grade,MinWC,MaxWC,AC,MinMA,MaxMA,MR,WCRate,MARate,ACRate,MRRate,CriRate,CriMinWc,CriMaxWc,CriMinMa,CriMaxMa,CrlTB,MaxHP,MaxSP,MaxAP,WhoEquip,BuyPrice,SellPrice,BuyFame,BuyGToken,BuyGBCoin,WeaponType,ArmorType,UpLimit,UpSucRatio,UpLuckRatio,UpResource,BasicUpInx,AddUpInx,TH,TB,ShieldAC,HitRatePlus,EvaRatePlus,MACriPlus,CriDamPlus,MagCriDamPlus,BT_Inx,TitleName,ItemGradeType,ItemUseSkill,SetItemIndex,ItemFunc,AutoMon) VALUES 
(0,"LeatherBoots","Leather Boots",0,8,1,21,19,0,1000,2,1,0,0,2,0,0,0,1000,1000,1000,1000,0,0,0,0,0,0,0,0,0,62,13,2,0,0,0,0,1,9,0,0,0,60,0,0,1,0,0,0,0,0,0,0,"-",2,"-","-",0,0),
04/12/2017 17:48 EpicFight#6
Wahrscheinlich nutzt du den SHN Editor von MrFr irgendwas, da ist der Source Code ja so:
Denke es ist offensichtlich... zum einen macht er " statt ' ..

Aber hier mal ein Converter der paar Jahre alt ist von einem mysql Projekt..
[Only registered and activated users can see links. Click Here To Register...]

Habe auch irgendwo einen mssql Converter, aber auf die schnelle ka wo der liegt.
04/13/2017 00:18 D0n!#7
Wenn du mal 1zu1 meinen code übernimmst solltest du 0 fehler haben.

Versuch ausserdem mal anstatt
Code:
INSERT INTO dItemInfo (ID,InxName,Name,Type,Class,MaxLot,Equip,ItemAuctionGroup,TwoHand,AtkSpeed,DemandLv,Grade,MinWC,MaxWC,AC,MinMA,MaxMA,MR,WCRate,MARate,ACRate,MRRate,CriRate,CriMinWc,CriMaxWc,CriMinMa,CriMaxMa,CrlTB,MaxHP,MaxSP,MaxAP,WhoEquip,BuyPrice,SellPrice,BuyFame,BuyGToken,BuyGBCoin,WeaponType,ArmorType,UpLimit,UpSucRatio,UpLuckRatio,UpResource,BasicUpInx,AddUpInx,TH,TB,ShieldAC,HitRatePlus,EvaRatePlus,MACriPlus,CriDamPlus,MagCriDamPlus,BT_Inx,TitleName,ItemGradeType,ItemUseSkill,SetItemIndex,ItemFunc,AutoMon) VALUES 
(0,"LeatherBoots","Leather Boots",0,8,1,21,19,0,1000,2,1,0,0,2,0,0,0,1000,1000,1000,1000,0,0,0,0,0,0,0,0,0,62,13,2,0,0,0,0,1,9,0,0,0,60,0,0,1,0,0,0,0,0,0,0,"-",2,"-","-",0,0),
es in
Code:
INSERT INTO dbo.dItemInfo (ID,InxName,Name,Type,Class,MaxLot,Equip,ItemAuctionGroup,TwoHand,AtkSpeed,DemandLv,Grade,MinWC,MaxWC,AC,MinMA,MaxMA,MR,WCRate,MARate,ACRate,MRRate,CriRate,CriMinWc,CriMaxWc,CriMinMa,CriMaxMa,CrlTB,MaxHP,MaxSP,MaxAP,WhoEquip,BuyPrice,SellPrice,BuyFame,BuyGToken,BuyGBCoin,WeaponType,ArmorType,UpLimit,UpSucRatio,UpLuckRatio,UpResource,BasicUpInx,AddUpInx,TH,TB,ShieldAC,HitRatePlus,EvaRatePlus,MACriPlus,CriDamPlus,MagCriDamPlus,BT_Inx,TitleName,ItemGradeType,ItemUseSkill,SetItemIndex,ItemFunc,AutoMon) VALUES 
(0,'LeatherBoots','Leather Boots',0,8,1,21,19,0,1000,2,1,0,0,2,0,0,0,1000,1000,1000,1000,0,0,0,0,0,0,0,0,0,62,13,2,0,0,0,0,1,9,0,0,0,60,0,0,1,0,0,0,0,0,0,0,'-',2,'-','-',0,0)
zu ändern

die tabelle dItemInfo muss natürlich auch vorher angelegt sein jedoch sagt dein fehler aus, dass keine Spalte namens LeatherBoots existiert, was steht sonst noch in deinem Query?
Bitte alles bis zum (inklusive des) ersten "INSERT" Posten

Quote:
Originally Posted by EpicFight View Post
Wahrscheinlich nutzt du den SHN Editor von MrFr irgendwas, da ist der Source Code ja so:
Denke es ist offensichtlich... zum einen macht er " statt ' ..

Aber hier mal ein Converter der paar Jahre alt ist von einem mysql Projekt..
[Only registered and activated users can see links. Click Here To Register...]

Habe auch irgendwo einen mssql Converter, aber auf die schnelle ka wo der liegt.
p.s. vermutlich liegt der hier:
[Only registered and activated users can see links. Click Here To Register...]

Problem dabei, meistens beziehen sich Online converter ebenso auf aktuelle Versionen.