程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> SYBASE 數據庫遷移到AS 400 db2的FAQ(二)

SYBASE 數據庫遷移到AS 400 db2的FAQ(二)

編輯:SyBase綜合文章
11.如果是單字符,如“’”如何組合拼接?

答:同樣可以使用CHAR(),進行ASCii 轉換

例如:DECLARE VC_CHAR CHAR(1);

DECLARE VC_TEMP CHAR(10);

SET VC_CHAR = CHAR(39); -- 39 IS ‘ ASCii

12.Db2如何創建約束?

答:語法如下:ALTER TABLE XHZQ.INFO_SKU_TAB

ADD CONSTRAINT XHZQ.CKC_C_DIANZICHENG_FLA_INFO_SKU

CHECK( C_DIANZICHENG_FLAG IN ( '0' , '1' , '2' ) ) ;

13.Db2下如何創建索引?

答:CREATE UNIQUE INDEX UNIQUE_NAME ON PROJECT (PROJNAME)

CREATE INDEX JOB_BY_DPT ON EMPLOYEE (WORKDEPT, JOB)

14.Sybase 中的全局變量@@rowcount,db2中如何使用?

答:db2中也有此全局變量,具體使用如下:

通過聲明變量tempCount,使用語句

DECLARE TEMPCOUNT BIGINT DEFAULT = 0;

GET DIAGNOSTICS tempCount = ROW_COUNT;

獲得,DB2下的ROW_COUNT等價於@@rowcount

15.DB2是如何管理事務的?

答:DB2中事務管理,也是支持自動事務管理和用戶管理事務。

CREATE PROCEDURE XXX.PROC_NAME

( 。。。。。。。)

BEGIN AUTMIC --系統自動管理事務



END



BEGIN

如果系統自動管理事務,腳本中不允許出現COMMIT, ROLLBACK ,

使用這種方式,如果使用捆綁SQLCODE,SQLSTATE和游標,可以達到系統自動控制游標的功能。

IF (XX) THEN

COMMIT WORK HOLD;

ELSE

ROLLBACK WORK HOLD;

END IF;

END



16.DB2的VARCHAR()函數用法?

答:VARCHAR(Par,length)功能,將par轉換為變長字符串

par : 參數character, integer , decimal , numeric, float ,graph

length: 參數字符串長度

例如:SELECT VARCHAR(EMPNO,10)

INTO :VARHV

FROM EMPLOYEE



17.Db2的SING()函數用法?

答:sing(par) 功能判斷par的大小和零比較

如果par < 0 返回 –1

如果par > 0 返回 1

如果par = 0 返回 0

例如:SELECT SIGN(:PROFIT)

FROM EMPLOYEE

18.DB2如何創建用戶自定義函數?

答:給出例子如下

/*

function name to_char

argument: (in) timestamp, format

comm:將日期轉換為制定的字符格式

ruturn:制定格式的字符串

author: Dekker date: 2003-09-12

*/

CREATE FUNCTION xhzq_db.to_char ( t1 TIMESTAMP,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved