DB2命令行處理器中的語句執行問題

          在DB2中創建UDF時,將寫好的sql放在命令行處理器中執行,報錯.
          提示: 命令被當作 SQL語句來處理,因為它不是有效的“命令行處理器”命令.....
          解決辦法: 不用命令行處理器(當然也不用Quest Contral之類的第三方工具,主要是因為服務器的原因) , 編寫一個批處理: db2cmd -c db2 -z log.out -td@?? -f mysql.clp .?其中, mysql.clp中的sql要做部分改動,主要是因為結束符的問題, 如:

          CREATE FUNCTION F_YEAR_ALL_DAYS
          ?(THE_DAY VARCHAR(10)
          ?)
          ? RETURNS TABLE
          ?? (ROWID INTEGER,
          ??? DETAIL_DATE DATE
          ?? )
          ? SPECIFIC SQL071218171441700
          ? LANGUAGE SQL
          ? NOT DETERMINISTIC
          ? READS SQL DATA
          ? STATIC DISPATCH
          ? CALLED ON NULL INPUT
          ? EXTERNAL ACTION
          ? INHERIT SPECIAL REGISTERS
          ? p1:begin atomic
          ??? DECLARE v_first_day VARCHAR(10);
          ??? SET v_first_day = substr(THE_DAY,1,4)||'-01'||'-01';
          ??? RETURN
          ????? select T.rowid,T.detail_date
          ??????? from (
          ????????? select a.rowid,a.detail_date
          ??????????? from (
          ????????????? select ROW_NUMBER() over() as rowid, (DATE(v_first_day) + (
          ????????????????? ROW_NUMBER() over() - 1) day ) as detail_date
          ??????????????? from table_a) a
          ??????????? where year(a.detail_date) = year(v_first_day)) as T;
          ? end p1@
          這里,函數體中的分號結束符并沒有改動,只是在函數體外圍定義的地方加了一個標志符p1,并用@代替分號結束符.

          posted on 2008-04-01 13:45 心硯 閱讀(701) 評論(0)  編輯  收藏 所屬分類: 數據庫


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2008年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          文章分類

          文章檔案

          Forum

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 邛崃市| 宜君县| 门源| 双鸭山市| 邮箱| 靖西县| 孝义市| 吉林市| 德惠市| 普安县| 肃北| 和平区| 搜索| 尼玛县| 德昌县| 万源市| 永川市| 东台市| 虎林市| 应用必备| 清水县| 弥勒县| 郴州市| 永泰县| 温宿县| 内黄县| 奈曼旗| 黑水县| 井冈山市| 板桥市| 开封市| 简阳市| 汉沽区| 新郑市| 裕民县| 昌平区| 承德市| 宜丰县| 双柏县| 资源县| 钟山县|