2015-09-18 22 views
0

可以使簡單,希望你們能幫助和理解甲骨文INSERT SELECT,使用ColdFusion cfqueryparam BLOB類型

<cfsavecontent variable="sContent"> 
    <cfoutput> 
     here i will have alot of Text will needed to INSERT SELECT into database 

    </cfoutput> 
<cfsavecontent> 


<!--- perform insert select ---> 
<cfquery name="Inserting" datasource="#data#"> 
    insert table1 (content) 
    select <cfqueryparam value = "#sContent#" CFSQLType = "CF_SQL_BLOB"> 
    from dual 
</cfquery> 

我之所以使用一滴,因爲我的內容插入到數據庫中是含有大量的文本。 這是插入blob數據的正確方法嗎?

+0

爲什麼你想使用'cfqueryparam'從數據庫表本身插入? – RRK

+0

'插入表1(內容) 從雙'選擇sContent 就夠了吧? – RRK

+0

sContent超過4000個字符,DDL語句得到一個關於不能長時間綁定的錯誤。 – Victor

回答

0
<cfquery name="Inserting" datasource="#data#"> 
    INSERT INTO table1 (
     content 
    ) VALUES (
     <cfqueryparam value = "#sContent#" CFSQLType = "CF_SQL_BLOB" /> 
    ) 
</cfquery> 

或使用CFSCRIPT:

insertBlob = new Query(sql = "INSERT INTO table1 (content) VALUES (:content)", datasource = data); 
insertBlob.addParam(name = "content", value = sContent, cfsqltype = "CF_SQL_BLOB"); 
insertBlob.execute(); 
+0

是否可以使用插入選擇方法?我需要它只是因爲某種原因 – Victor

+0

這將有助於瞭解其他原因 - 您是在實際上在做「SELECT ... FROM DUAL」還是您正在從實際表中選擇? – MT0