Intro not: Ben bir kütüphane ya da rutin bunu yapmak için var umuyorum, ama bu böyle bir şey bulmak mümkün olmamıştır. Gerçekten yönü ve nereden başlayacağınızı tavsiye arıyorum ...
Here is the situation: I have a block of SQL commands coming as plain text. It might be one SQL commands or several. I need a way to split multiple SQL commands so I can run them one at a time. Microsoft SQL Management Studio does has this behavior out of box.
Apache (Debian) üzerinde çalışan bir uygulama PHP5/MySQL5 bu işlevselliği eklemek için çalışıyorum.
Bazı önemli noktalar:
- Ben gerçekten teker teker çalıştırmak gerekiyor. Cidden.
- Ben her SQL ifadesinden sonra bir virgül girmek için kullanıcı gerektirmeyen istemiyorum.
- SQL ifadeleri bir veya birden fazla satır olabilir, bu yüzden Liderler / CR üzerinde kaydırma olamaz
- Bu, SELECT, UPDATE, INSERT destek azından SİL gerekiyor.
- Bu alt seçer vardır sorguları desteklemesi gerekiyor
- Düzgünce sekmeli SQL çalışmak gerekiyor
- (Kullanılabilir yazılım çıkarına) Ben sınırlayıcı her türlü girmek için kullanıcı zorlamak istemiyorum.
Burada iki tablolara bölmek gerekir SQL bir örnek blok:
select sMessage,
(
SELECT COUNT(sTag) FROM Tags WHERE ixTicket = note.ixTicket
) FROM note
select * from ticket
WHERE (SELECT MAX(nCount) FROM Counter WHERE ixTicket = ticket.ixTicket) > 5
Bazı RegEx girişimleri çalıştı, ama o kadar güçlü görünmüyor.
Bu sorunu çözmek için bir yaklaşım üzerinde herhangi bir öneri?