不明白你的需求,如果是數(shù)據(jù)庫中的字符串表達(dá),是帶單引號的'abc',在你檢索出來看的時候就是abc的樣子。
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作、網(wǎng)頁設(shè)計、品牌網(wǎng)站建設(shè)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)建站擁有實力堅強(qiáng)的技術(shù)研發(fā)團(tuán)隊及素養(yǎng)的視覺設(shè)計專才。
如果Oracle的字符中有雙引號,那么用replace即可
select ('hjk"abc"ert','"','')
from dual;
結(jié)果是 hjkabcert
select 'update table1 set '||column_name||' = replace('||column_name||','''""''','''''');' sqltxt
from user_tab_columns
where table_name = 'table1'
and data_type like '%CHAR%';
這個sql會針對所有數(shù)據(jù)類型為字符的column,生成update語句,把雙引號全部去掉。
注:select那一行最后的部分是3個單引號、兩個雙引號、3個單引號、1個逗號、6個單引號。
使用PowerDesigner生成數(shù)據(jù)庫 建表SQL 腳 本時,尤其是Oracle數(shù)據(jù)庫時,表名一般會帶引號。其實加引號是PL/SQL的規(guī)范,數(shù)據(jù)庫會嚴(yán)格按照“”中的名稱建表,如果沒有“”,會按照 ORACLE默認(rèn)的設(shè)置建表(DBA STUDIO里面),默認(rèn)是全部大寫,這樣,在ORACLE數(shù)據(jù)庫里的字段就如“Column_1”。如果你把引號去掉,ORACLE自動默認(rèn)為全部大 寫,即“COLUMN_1”,所以這段SQL在PL/SQL中執(zhí)行的時候是沒有任何問題的,如果不加引號,在PL/SQL會自動識別為大寫。如果加了引 號,sql或者h(yuǎn)ql查詢“Column_1='XXX'”時,就會報錯:ORA-00904: "COLUMN_1": 無效的標(biāo)識符,除非寫為“‘Column_1’='XXX'”。
這個問題是生成腳本格式的問題,因此,我們可以 嘗試在DBMS配置文件中修改相應(yīng)的格式設(shè)置來解決這個問題。選擇DBMS Properties,選擇Script-Sql-Format,有一項CaseSensitivityUsingQuote, 它的comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規(guī)定標(biāo)識符的大小寫,可以看到右邊的values默認(rèn)值為“YES”,改為“No”,點(diǎn)擊【應(yīng)用】按鈕。
1、去掉Oracle生成的SQL創(chuàng)建語句中的雙引號
用powerdesigner導(dǎo)出orale數(shù)據(jù)庫的建表sql時,默認(rèn)會給表名和字段名加上雙引號,如下圖:
這樣給操作數(shù)據(jù)庫帶來很大的不便,解決的辦法是設(shè)置Database菜單,
然后點(diǎn)擊Edit Current DBMS菜單,再依次點(diǎn)開Script-Format,然后找到CaseSensitivityUsingQuote
將其設(shè)為NO,即可。如下圖:
如果帶有包的話,導(dǎo)出時要選擇包中的表。
2、PowerDesign高級應(yīng)用
編寫相關(guān)的VBS腳本在PowerDesign里自定義一些命令與操作等,具體的可以參考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目錄下的腳本示例。怎么運(yùn)用這些腳本呢?
在Tools-Execute Commands里可以進(jìn)行操作。具體說明在幫助里寫的很清楚。幫助的位置在 PowerDesigner General Features Guide- PART 2. Modeling Guide-CHAPTER 8. Managing Objects-Accessing objects using VBScript-VBScript uses in PowerDesigner
PowerDesign的使用主要是DBMS的配置
3、修改建表腳本生成規(guī)則。
如果每個表格都有相同的字段,可以如下修改:
Database - Edit Current DBMS 展開 Script - Object - Table - Create 見右下的Value值,可以直接修改如下:
/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
%TABLDEFN%
ts char(19) null default convert(char(19),getdate(),20),
dr smallint null default 0
)
[%OPTIONS%]
其中的 ts、dr 兩列會在生成SQL腳本的時候自動的插入每個表格中,其中的%TNAME% 變量是給每個表格的SQL添加一個該表的Name值注釋。
4、修改字段生成規(guī)則。
要給每個字段都添加一個注釋的話,同一窗口中展開 Script - Object - Column - Add 的 Value修改為:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/
其中的%COLNNAME%就是列的Name值(可以是中文)
5、修改外鍵命名規(guī)則。
選擇Database—Edit Current DBMS
選擇Scripts-》Objects-》Reference-》ConstName
可以發(fā)現(xiàn)右側(cè)的Value為:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可見,該命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根據(jù)這中模式自定義為:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名稱變?yōu)镕K_TABLE_2_RELATIONS_TABLE_1
掌握這種方法后就可以按照自己的想法修改了
生成建庫腳本SQL文件中的表頭注釋很討厭,可以在 Databse - Generate Database (Ctrl+G)窗口中,選擇Options卡片,去掉Usage的Title鉤選項即可。
6、添加外鍵
Model - References新建一條外鍵后,雙擊進(jìn)入外鍵屬性,在“Joins”卡片中可以選擇子表的外鍵字段。如下圖:
接著出現(xiàn)如下畫面:
按照步驟操作即可。
7、取消name和code聯(lián)動
在修改name的時候,code的值將跟著變動,很不方便。修改方法:PowerDesign中的選項菜單里修改,在[Tool]--[General Options]-[Dialog]-[Operating modes]-[Name to Code mirroring],這里默認(rèn)是讓名稱和代碼同步,將前面的復(fù)選框去掉就行了。如圖:
編寫相關(guān)的VBS腳本在PowerDesign里自定義一些命令與操作等,具體的可以參考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目錄下的腳本示例。怎么運(yùn)用這些腳本呢?
在Tools-》Execute Commands里可以進(jìn)行操作。具體說明在幫助里寫的很清楚。幫助的位置在 PowerDesigner General Features Guide- PART 2. Modeling Guide-CHAPTER 8. Managing Objects-Accessing objects using VBScript-VBScript uses in PowerDesigner
PowerDesign的使用主要是DBMS的配置
1、修改建表腳本生成規(guī)則。如果每個表格都有相同的字段,可以如下修改:
Database - Edit Current DBMS 展開 Script - Object - Table - Create 見右下的Value值,可以直接修改如下:
/* tablename: %TNAME% */
create table [%QUALIFIER%]%TABLE% (
%TABLDEFN%
ts char(19) null default convert(char(19),getdate(),20),
dr smallint null default 0
)
[%OPTIONS%]
其中的 ts、dr 兩列會在生成SQL腳本的時候自動的插入每個表格中,其中的%TNAME% 變量是給每個表格的SQL添加一個該表的Name值注釋。
2、修改字段生成規(guī)則。要給每個字段都添加一個注釋的話,同一窗口中展開 Script - Object - Column - Add 的 Value修改為:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/
其中的%COLNNAME%就是列的Name值(可以是中文)
3、修改外鍵命名規(guī)則。選擇Database—Edit Current DBMS
選擇Scripts-》Objects-》Reference-》ConstName
可以發(fā)現(xiàn)右側(cè)的Value為:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可見,該命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根據(jù)這中模式自定義為:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名稱變?yōu)镕K_TABLE_2_RELATIONS_TABLE_1
掌握這種方法后就可以按照自己的想法修改了
生成建庫腳本SQL文件中的表頭注釋很討厭,可以在 Databse - Generate Database (Ctrl+G)窗口中,選擇Options卡片,去掉Usage的Title鉤選項即可。
4、添加外鍵
Model - References新建一條外鍵后,雙擊進(jìn)入外鍵屬性,在“Joins”卡片中可以選擇子表的外鍵字段
5、去掉生成的SQL腳本雙引號的問題:ORACLE 8I2::Script\Sql\Format\CaseSensitivityUsingQuote改成No,默認(rèn)是Yes所以會有雙引號。
在修改name的時候,code的值將跟著變動,很不方便。修改方法:PowerDesign中的選項菜單里修改,在[Tool]--[General Options]-[Dialog]-[Operating modes]-[Name to Code mirroring],這里默認(rèn)是讓名稱和代碼同步,將前面的復(fù)選框去掉就行了。