db2執行sql腳本
❶ db2cmd怎麼執行sql文件並傳遞參數
查詢管理器里 新建一個連接 在右邊打開的編輯域粘貼執行
或者直接打開.sql文件
❷ DB2的SQL腳本如何定義變數,並賦值使用執行成功有重賞哦,謝謝
用存儲過程啊,給你個簡單的例子
CREATE PROCEDURE SPCARDTRACE
(
IN I_CARDNO VARCHAR(10)
)
-- 存儲過程功能 :
-- 創建人:
-- 創建日期:
-- 參數說明:
-- 01. : I_CARDNO 卡號
-- 02. :
-- 03. :
LANGUAGE SQL
SPECIFIC SPCARDTRACE
DYNAMIC RESULT SETS 1
MODIFIES SQL DATA
BEGIN
DECLARE V_CARDNO VARCHAR(10); --卡號
DECLARE V_EMPNAME VARCHAR(16); --持卡人
DECLARE V_CARDBALANCE DECIMAL(8,2); --卡余額
DECLARE V_HAPPENDATE INT;--統計時間
DECLARE V_MINTIME TIMESTAMP; --最小時間
DECLARE V_MAXTIME TIMESTAMP; --最大時間
DECLARE V_MINMONTH INT ;
DECLARE V_MAXMONTH INT ;
DECLARE V_ISSUECARDDATE TIMESTAMP; --發卡時間
DECLARE V_SUBSIDYMONEY DECIMAL(8,2);--補貼金額
DECLARE V_CONSUMEMONEY DECIMAL(8,2);--沖值金額
DECLARE V_PUTMONEY DECIMAL(8,2);--沖值金額
DECLARE V_OUTMONEY DECIMAL(8,2);--退款金額
DECLARE V_CHANGEMONEY DECIMAL(8,2);--改卡差額
DECLARE V_STRSQL VARCHAR(1000); --SQL
DECLARE CS CURSOR WITH RETURN TO CALLER FOR RETURNTABLE;
INSERT INTO TBCARDTRACE ( CARDNO,EMPNAME,CARDBALANCE,ISSUECARDDATE ,HAPPENDATE,
SUBSIDYMONEY,PUTMONEY,OUTMONEY ,CONSUMEMONEY,CHANGEMONEY )
VALUES (V_CARDNO,V_EMPNAME,V_CARDBALANCE,V_ISSUECARDDATE,V_HAPPENDATE,
V_SUBSIDYMONEY,V_PUTMONEY,V_OUTMONEY,V_CONSUMEMONEY,V_CHANGEMONEY);
END
❸ 如何用db2輸入SQL命令
可以在命令編輯器或者Windows 的DB2 命令窗口或者 linux 的shell 中執行SQL 腳本。在windows 的DB2 命令窗口或者 linux 的shell 中執行SQL語句,可以使用下面的命令執行script1.sql腳本:
db2 -t -v -f script1.sql -z script1.log
或者:
db2 –tvf script1.sql –z script1.log
在上面的命令中,
-t 表示語句使用默認的語句終結符——分號;
-v 表示使用冗長模式,這樣 DB2 會顯示每一條正在執行命令的信息;
-f 表示其後就是腳本文件;
-z 表示其後的信息記錄文件用於記錄屏幕的輸出,方便以後的分析(這是可選的,但建議使用該選項)。
當使用了-t選項而沒有標明語句終結符,則分號(;)會默認為語句的終結符。有時可能會出現使用另外的終結符的情況,例如用SQL PL 編寫的的腳本使用其它的符號而不是默認的分號,因為分號在SQL PL 是用於定義資料庫對象過程中的語句結束。
❹ db2查詢執行的sql語句
select tabname from syscat.tables where tabschema = current schema ;// 獲取當前模式下面的所有用戶表
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela
❺ LINUX下shell腳本如何執行 sql腳本 到DB2資料庫
1、在gedit中編寫.sh格式的文件,保存為a.sh。
❻ 求助db2如何執行動態SQL 並返回值
大多數情況下,DB2資料庫管理程序在需要鎖時會隱式地獲取它們,事務不需要顯式地請求鎖,唯一有可能被事務顯式鎖定的資料庫對象就是表,可以使用下邊的語句。\r\nALTER TABLE [TableName] LOCKSIZE TABLE\r\n或\r\nLOCK TABLE [TableName] IN [SHARE|EXCLUSIVE] MODE
❼ DB2中執行字元串sql。下面腳本主要是為了得到每張表的記錄條數,請大神幫我調通。非常感謝!
哪報錯 報什麼錯 我現在用的不是db2資料庫 直接看也看不出來什麼 沒到那水平啊
❽ 怎樣使用命令行執行DB2的SQL
一、准備工作
運行db2cmd或者db2cw打開DB2命令行處理器
進入SQL腳本存放目錄
用db2 connect to <dbname> user <username> using <password> 命令連接資料庫
用db2 set current schema <schema_name> 設置當前的SCHEMA,這個SCHEMA可以是未創建的,DB2會自動創建。
二、執行不同類型的SQL
1、在命令行執行簡單SQL命令
db2 <SQL語句內容>
2、在命令行執行SQL腳本文件
db2 -td; -cf <SQL腳本文件路徑> -l <輸出日誌文件路徑>
說明:-td; 指定語句結束標志。因為一般SQL都是以分號結尾,所以就寫成「-td;」。
-l <輸出日誌文件路徑> 是可選的。
3、在命令行執行DB2 存儲過程文件
db2 -td@ -f <SQL過程文件路徑> -l <輸出日誌文件路徑>
說明:-td@ 指定語句結束標志。因為一般SQL過程都是以@結尾,所以就寫成「-td@」。
-l <輸出日誌文件路徑> 是可選的。
❾ db2的命令行處理器怎麼執行sql腳本文件建表
無論是windows系統,還是linux或AIX
你可以在實例用戶下,先鍵入 db2 這個命令,進入到db2命令行,然再執行creat database mydb
或者
你可以在系統命令行下直接執行
db2 create database mydb
或
db2 "create database mydb"
❿ db2中怎麼根據條件執行sql
不能這樣執行,只能將這些語句加到存儲過程當中,但存儲過程的語句是有限制的,例如上面的drop table 就不能運行。