2016-03-25 12 views
0

Oracle Database üzerinde uzaktan çalıştırma için sunucuya Python 2.7 kullanarak bazı SQL deyimleri ve değişkenler için sözdizimi sözlükleri gönderiyorum.Python 2.7'de Oracle veritabanı için sorgunun dize temsili nasıl elde edilir

Son sorguyu günlüğe kaydetmek istiyorum, bu sunucuda çalıştırılacak, ancak son sorguyu bir dize olarak göstermenin bir yolunu bulamıyorum.

Hazırlanan deyimi örneği:

delete from my_table where col1=:date and col2=:string and col3=:num 

Sözlük örnek: I (her ne SQL, bu benim verilerle ve infaz edilmesi) almak istiyorum ne

{'date':datetime.datetime(2016, 3, 25, 0, 0), 'string':'abc', 'num':42} 

:

delete from my_table where col1=TO_DATE('25-03-2016 00:00','dd-mm-yyyy hh24:mi') and col2='abc' and col3=42 
+0

Hazırlanan ifadelerle Oracle'da "nihai SQL" yoktur - değerler istediğiniz gibi düz metin biçiminde değiştirilmez. Hazırlanan ifade, girdiğiniz parametrelerle gerçekleştirilir. – Mat

+0

Cevabınız için teşekkür ederiz. Hala bu tür bir SQL sorgusu oluşturmanın bir yolu var mı? Sanırım birileri bunun için zaten bir kod yazmıştı. – Rabodaber

+1

Neden bunu istiyorsun? Bu, idam edilen şey olmadığı için ve gerçekçi olması için alıntı yapmaktan endişelenmeniz gerektiğinden, anlamsız görünüyor. Sadece günlük kaydı ise ifadeyi ve parametreleri günlüğe kaydet, sorguyu doğru şekilde yeniden üretmenin tek yolu budur. – Mat

cevap

0

Neden bunu istiyorsun? Bu, idam edilen şey olmadığı için ve gerçekçi olması için alıntı yapmaktan endişelenmeniz gerektiğinden, anlamsız görünüyor. Günlük kaydı hedefliyorsa, & ifadesini günlüğe kaydetmeniz yeterlidir. Bu, sorguyu doğru şekilde çoğaltmanın tek yoludur. - Mat Mar 28 at 16:07

Mat'a yaptığı yorumlar için teşekkür ederiz.

İlgili konular