iT邦幫忙

0

select 1 ># e:\122.log ; --把結果寫到e:\122.log


不分大小寫
字串和數字不會自動轉型 col若是varchar col=123 會找不到資料,要用col='123'

因Sybase為列儲存模式,在執行上INSERT語句會比UPDATE語句慢,尤其表資料越多INSERT效率就越慢;所以在ETL時建議多用UPDATE而不是INSERT


sp_helptext 'sp_'

刪除卡住的連線v1
sp_iqconnection >>誰連上來
sp_iqcontext >>現在什麼語法在跑
sp_iqtransaction >>transation狀態還活著嗎
drop connection $$ConnHandler >>

刪除卡住的連線v2
sp_iqlocks; 檢視當前庫中有那些鎖定
DROP CONNECTION 80174
<drop connection <conn_id>


sp_iqcontext >>現在有什麼語法在跑
sp_iqdbspace 空間剩多少
sqp_iqcheckoptions
sp_iqstatus
sp_iqfile
sp_iqversionuse
sp_iqlocks

所有物件:select name from sysobjects where type='U' order by name
*用者表為type='U',系統表type='S',觸發器為type='TR',存程過程為type='P'

用dba登入,查詢使用者權限
select * from sysuserlist;

--------------DDL-----------------
Sybase中DDL語句不能修改欄位的資料型別
*修改欄位type、欄位型別長度,需要刪除表重建,其餘的不用。

新增註解
COMMENT ON TABLE table_name IS '....';
新增索引
CREATE INDEX index_name ON table_name(column_name);
查詢索引
sp_iqindex table_name='psdss_table',table_owner='psdss_dm'

新增CONSTRAINT
ALTER TABLE tb_name ADD CONSTRAINT pk_name PRIMARY KEY(col_name,..)
刪除CONSTRAINT
ALTER TABLE tb_name DROP CONSTRAINT pk_name;


增加欄位SQL:ALTER TABLE psdss_table ADD (psdss_column NUMERIC(18) NULL);
刪除欄位SQl:ALTER TABLE psdss_table DROP psdss_column;
刪除主鍵約束:ALTER TABLE psdss_table DROP CONSTRAINT pk_name;
增加主鍵約束:ALTER TABLE psdss_table ADD CONSTRAINT pk_name PRIMARY KEY(psdss_column);
修改欄位是否為空:ALTER TABLE psdss_table MODIFY psdss_column NULL;
修改表名:ALTER TABLE psdss_table RENAME new_psdss_table;
修改欄位名:ALTER TABLE psdss_table RENAME psdss_column TO new_psdss_column;
--------------proc---------------------
判斷儲存過程是否存在並刪除:
if exists(
select * from sys.sysprocedure
where proc_name='psdss_table'
) then
DROP PROCEDURE psdss_table
end if;

--------------dbisql
把要執行的query寫在load.sql
把下面這段寫成run.bat
dbisql -c "uid=username; pwd=password; eng=ServerName; links=tcpip(host=128.0.0.1,2640)" -onerror exit -nogui load.sql
把這2個檔案放一起


Sybase 是做資料庫的
2010年被SAP買下來
底下有3大資料管理產品(資料庫)
 Adaptive Server Enterprise(ASE)- 企業級RDBMS及Column-oriented DBMS儲存平台
 Advantage Database Server (ADS) - 關聯式資料庫管理系統
 Sybase IQ - 資料倉庫及 business intelligence RDBMS

Sybase IQ
簡稱IQ
它是資料倉儲,也就是考量資料分析而設計,所以資料撈取效上,會比較好.(比SQL SERVER快)
採用ODBC連線

常用工具:SQLEXEC
安裝驅動程式IQ 16.0
在ODBC先設好,就能透由SQLEXEC做連線.
*32位元限定,ODBC要設在32位元的ODBC

ODBC
如果撈出來的資料有亂碼,可在ODBC上設定字符集為iso_1

--------------備份
把下面這段寫成backup.bat
dbisql -c "uid=username;pwd=password;eng=database" -nogui backup.sql
把下面這段寫成backup.sql
backup database to 'e:\database.dump';
然後把2個檔案放一起

啟動語法
start_iq @C:\MLIQ\MLIQ.cfg C:\MLIQ\MLIQ.db -iqmsgsz 2047 -iqmsgnum 20
*電腦重啟後,記得啟動IQ服務

關閉服務
打開右下角的IQ監控程式,點Shotdown

ref
https://www.ithome.com.tw/node/43551
https://www.itread01.com/content/1546226663.html
https://www.itread01.com/content/1546109287.html

垂直分割(Vertical Architecture)、Bit-Wise Indexing及平行擴充(Multiplex)


尚未有邦友留言

立即登入留言