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

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 林州市| 微博| 漳浦县| 河池市| 洛扎县| 连江县| 文安县| 宜阳县| 梧州市| 伊宁市| 上栗县| 会东县| 色达县| 平塘县| 清原| 延川县| 彭阳县| 楚雄市| 赤水市| 泰和县| 阳泉市| 庆城县| 肃南| 东兴市| 嘉定区| 丰宁| 资溪县| 大石桥市| 阿城市| 扶风县| 同江市| 奉新县| 志丹县| 峨山| 海宁市| 西昌市| 麟游县| 车致| 武邑县| 台南市| 滨海县|