當前位置:首頁 » 編程語言 » db2帶分號不能運行多個sql
擴展閱讀
sql模糊怎麼用 2022-08-12 23:47:13

db2帶分號不能運行多個sql

發布時間: 2022-06-27 00:02:59

sql語句之間加上"分號",起什麼作用

英文分號表示一個SQL語句的結尾。
單個SQL語句的情況下一般使不使用無所謂,執行多條SQL語句的情況下就應該使用,這樣可以告訴資料庫引擎提交的是多條SQL語句,以免報錯。

⑵ db2中怎麼根據條件執行sql

不能這樣執行,只能將這些語句加到存儲過程當中,但存儲過程的語句是有限制的,例如上面的drop table 就不能運行。

⑶ sql語句分號的作用,sql不支持多句的意思

多句可以直接寫在一起,不需要分號
分號是某種特定的編程軟體所有的,並不是標準的SQL語法

比如MSSQL多句可以這樣寫

select * from A select * from B

直接接起來,不需要分號

⑷ DB2問題,程序運行時不定時出現以下sql報錯問題!

sqlcode=-203,
sqlstate=42702
這是模糊列引用,造成,order
by
id
的id不能明確是a還是b表。一般查詢不出就是不等於某值時沒有數據,並不一定代表語句錯誤。在sql語句中不等於有兩種用法,一種是"<>",一種是"!="(均不含引號)。
具體如下:
1、簡介
結構化查詢語言(structured
query
language)簡稱sql,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;sql
語句就是對資料庫進行操作的一種語言。
2、sql語句
更新:update
table1
set
field1=value1
where
范圍
查找:select
*
from
table1
where
field1
like
'%value1%'
(所有包含'value1'這個模式的字元串)
排序:select
*
from
table1
order
by
field1,field2
[desc]
求和:select
sum(field1)
as
sumvalue
from
table1
平均:select
avg(field1)
as
avgvalue
from
table1
最大:select
max(field1)
as
maxvalue
from
table1
最小:select
min(field1)
as
minvalue
from
table1[separator]

⑸ DB2資料庫,執行sql為什麼加上引號就執行不了,,,而且還要一條一條的執行

使用的是db2工具還是命令行?

如果是shell命令下,在連接資料庫後可通過db2 "sql" 執行;
如果是db2命令下,可直接輸入sql執行;

如果使用db2工具,一般可直接輸入sql執行。

⑹ db2中sql語句問題

因為replace('01,02,03','''','')最後得到的還是一個字元串
原來是 where 機構 in ('『』01,02,03'『』)

現在變成了 where 機構 in (』01,02,03')

可以把要執行的 SQL語句 賦值一個字元串變數中,然後運行字元串
如:
DECLARE sql VARCHAR(255);
SET sql = 'SELECT field INTO V_A FROM ' || tablename;
PREPARE s1 FROM sql;
EXECUTE s1;

⑺ 如何在db2命令行運行sql必知必會例子

db2 => connect to dbName user xxx using password

db2 => sql語句

如果要執行一個sql腳本文件:

db2 => quit

c:\> db2 -tvf sql文件名
db2 [email protected] -f filename
@是語句結束符。
E:\>db2 ? options
db2 [option ...] [db2-command | sql-statement |
[? [phrase | message | sqlstate | class-code]]]
option:-a、-c、-e{c|s}、-finfile、-lhistfile、-n、-o、-p、-rreport、-s、-t、
-td;、-v、-w、-x 和 -zoutputfile。

選項 描述 預設設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-l 將命令記錄到歷史文件中 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示 db2 互動式提示符 ON
-r 將輸出報告保存到文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回送當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF

注意:
使用 DB2OPTIONS 環境變數定製選項預設值。
緊跟選項字母後的減號(-)使該選項關閉。
使用 UPDATE COMMAND OPTIONS 更改選項設置(以互動式或
文件輸入方式)。

只能提供nt環境下編寫腳本的例子給你以供參考:
腳本樣例:
db2 connect to yourdb user yourname using yourpassword
db2 insert into newuser(username,password,email) values('Amy','1234','[email protected]')
db2 insert into newuser(username,password,email) values('Judy','1234','[email protected]')
db2 commit
db2 disconnect yourdb

運行腳本: 運行db2cmd X:\XXX.bat

以下摘自本論壇的FAQ可參考:
"
在命令窗口中運行DB2腳本,可用 db2 -svtf 腳本文件名 來實現。
例如,腳本文件名為sample.sql,運行:db2 -svtf sample.sql

參數中:
s 代表遇到錯誤時中止運行腳本
v 代表輸出結果到屏幕
t 指以;號作為每行的分隔符
f 指後面需跟腳本文件名 "---此摘錄版權歸斑竹非本人所有

具體在AS400如何編寫腳本非常遺憾.

db2 -x select SERIALNO from tabname where clause

C:>db2 attach to db2164 user ccp
輸入 ccp 的當前密碼:

實例連接信息

實例伺服器 = DB2/NT 8.2.0
授權標識 = CCP
本地實例別名 = DB2164

C:>db2 connect to dw164 user ccp
輸入 ccp 的當前密碼:

資料庫連接信息

資料庫伺服器 = DB2/NT 8.2.0
SQL 授權標識 = CCP
本地資料庫別名 = DW164

C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur

CUST_ID NOW_PRED_S LOAD_TIME
-------------------- -------------------- --------------------------
3094736. ZFS 2008-05-07-10.02.00.453000
3145886. ZFS 2008-05-07-10.02.00.453000

2 條記錄已選擇。

C:>db2 list command options

命令行處理器選項設置

後端進程等待時間(秒) (DB2BQTIME) = 1
連接至後端的重試次數 (DB2BQTRY) = 60
請求隊列等待時間(秒) (DB2RQTIME) = 5
輸入隊列等待時間(秒) (DB2IQTIME) = 5
命令選項 (DB2OPTIONS) = +m

選項 描述 當前設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-d 檢索並顯示 XML 聲明 OFF
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-i 顯示 XML 數據並帶有縮進 OFF
-l 將命令記錄到歷史記錄文件中 OFF
-m 顯示受影響的行數 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示互動式輸入提示符 ON
-q 保留空格和換行符 OFF
-r 將輸出保存到報告文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回傳當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF

C:>db2set DB2OPTIONS=-x
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
4654908. ZFS 2008-05-07-10.02.00.453000
3716687. ZFS 2008-05-07-10.02.00.453000

⑻ 如何用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
是用於定義資料庫對象過程中的語句結束。