利用QUERY選項輸出資料

xsdan發表於2006-05-19
我知道在8i中,可以使用QUERY有選擇地輸出表資料。我想用EXP命令來實現,但沒有成功。下面是我所寫的命令,以及得到的錯誤資訊:[@more@]
exp ddd/ddd file=/dbf/u11/customer.dmp
tables=AASC.AST_CUSTOMER_KEEP
query='where CUA_TRANS_DTS <
add_months(sysdate, -6)'
table_export[2]: CUA_TRANS_DTS: not found.(沒有找到)


答:作業系統不同,用來指定QUERY=引數的方法也不同。WHERE 語句裡面往往有很多特殊的字元,如=.>.
下面給出一個例子。我用select * from all_objects建立了一個表T,我希望輸出所有object_id 小於5000的行。在Windows中,必須這樣做:

C:exp>exp userid=tkyte/tkyte tables=t
query="""where object_id < 5000"""


注意:在windows中,需要在WHERE語句的兩端使用三個雙引號。在UNIX中,必須這樣做:

$ exp userid=/ tables=t query="where
object_id < 5000"
exp userid=/ tables=t parfile=exp.par
如果使用包含query="where object_id < 5000"的PARFILE檔案,我可以在兩個系統中使用相同的一個命令:

exp userid=/ tables=t parfile=exp.par

在兩種作業系統中,完全相同。這相對於在不同的平臺中使用不同的QUERY字串容易多了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/262387/viewspace-836389/,如需轉載,請註明出處,否則將追究法律責任。

相關文章