當前位置:首頁 » 編程語言 » sql參數設置在哪裡
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql參數設置在哪裡

發布時間: 2022-05-18 15:24:32

sql developer 輸入參數為list怎麼設置

1. PL/SQL Developer記住登陸密碼
在使用PL/SQL Developer時,
為了工作方便希望PL/SQL Developer記住登錄Oracle的用戶名和密碼;
設置方法:
PL/SQL Developer->tools->Preferences->Oracle->Logon History,
在右邊界面的"Definition"中,"Store history"是默認勾選的,
再勾選上"Store with password",即可.
上述方法若不好用,使用下面的方式:

在上面所說的界面中的"Fixed Users"中,
添加需要直接選擇後就可登錄的用戶名/密碼@ORACLE_SID,
如:
cbsdb/cbsdb@cbsdb
重新登錄的時候,從Oracle Logon的登錄界面的Username後面的...按鈕處,
選擇需要登錄的用戶即可。

2. 執行單條SQL語句(SQL Window中根據游標位置自動選擇語句)
在使用PL/SQL Developer的SQL Window時,按F8鍵,PL/SQL Developer默認是執行該窗口的所
有SQL語句,需要設置為滑鼠所在的那條SQL語句,即執行當前SQL語句;
設置方法:PL/SQL Developer->tools->Preferences->SQL Window->Window types,
勾上"AutoSelect Statement" 即可。
注意,每條語句後面要加分號。
3. 格式化SQL語句
在使用PL/SQL Developer的SQL Window時,有時候輸入的SQL語句太長或太亂,
希望能用比較通用的寫法格式話一下,這樣看起來會好看些,也好分析;
使用方法:
選中需要格式化的SQL語句,然後點擊工具欄的PL/SQL beautifier按鈕即可.

4. 查看執行計劃
在使用PL/SQL Developer的SQL Window時,有時候輸入的SQL語句執行的效率,分析下表結構,
如何可以提高查詢的效率,可以通過查看Oracle提供的執行計劃;
使用方法:
選中需要分析的SQL語句,然後點擊工具欄的Explain plan按鈕(即執行計劃),
或者直接按F5即可。
5. 調試存儲過程
在使用PL/SQL Developer操作Oracle時,有時候調用某些存儲過程,或者調試存儲過程;
調用存儲過程的方法:
首先,在PL/SQL Developer左邊的Browser中選擇Proceres,
查找需要調用的存儲過程;然後,選中調試的存儲過程,點擊右鍵,
選擇Test,在彈出來的Test script窗口中,
對於定義為in類型的參數,需要給該參數的Value輸入值;
最後點擊上面的條數按鈕:Start debugger或者按F9;
最後點擊:RUN或者Ctrl+R。
(具體要調式一個存儲過程,請參照操作手冊,這個大概說明下應用)。

6. oralce精簡客戶端的使用
要想PL/SQL連接oracle資料庫,除了PL/SQL Developer 之外還需要Oracle客戶端,
有一個更方便的方法就是使用Oracle精簡客戶端,很多地方可以下載,文件很小,耗資源也少。
安裝完成後修改安裝目錄下的\Oracle\ora90\network\ADMIN\tnsnames.ora文件:
格式如下:
DATABASE_NAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
#(SERVICE_NAME = dealer)
(SID = SID_NAME)
#(SERVER = DEDICATED)
)
)

7. 關鍵字自動大寫:
了解一點編程的常識的人都知道,編碼風格很重要。
在閱讀代碼方面,保持一致的編碼風格,閱讀起來比較容易;
在執行效率方面,保持一致的編碼風格,更有可能被放到共享SQL區中,
這樣就提供了執行的效率。
另外,信息系統的核心是資料庫,系統出問題時最先要查的就是SQL語句,
怎樣在浩瀚的日誌中快速找到那條SQL語句是件比較痛苦的事情。
SQL語句全部大寫並不能徹底解決這一問題,
但在一堆代碼中間找一行全部大寫的字元相對容易些,你的眼睛會感謝你。

設置也很簡單:
Tools->Preferences->Editor,將Keyword case選擇Uppercase。

我一般是讓關鍵字大寫,其他比如表名,欄位名等都是小寫。
大家都應該養成一種自己的編碼習慣,並保持下去。
8. 右鍵菜單
在PL/SQL Developer(下面簡稱PLD)中的每一個文本編輯窗口,
如SQL Window,Command Window和Porgram Window,
右鍵點擊某個對象名稱,會彈出一個包含操作對象命令的菜單,我們這里稱之為右鍵菜單。

對象類型可以是表,視圖,同義詞,存儲過程和函數等。
根據對象類型的不同,彈出的菜單也有區別。
表和視圖有View, Edit, Rename, Drop, Query data 和Edit data等功能。
View和Edit分別是查看和修改表的結構信息,如欄位,主鍵,索引和約束等。
Query data相當於新打開一個窗口,並執行select * from 表。
Edit data相當於新打開一個窗口,並執行select * from 表 for update。
存儲過程和函數有Test功能,選中後可以進入調試狀態。
有時由於PLD識別錯誤,右鍵點擊對象並不能出來正確的菜單,
可以在對象所在的DDL或DML語句的前面,加上分號,這樣PLD就能正確的判斷出對象的類型
9. Select for Update
有時我們需要把一些數據導入資料庫中,如果用UE拼Insert語句,會比較麻煩,而且操作性不強。
PLD的SQL Window可以查詢,新增,修改和刪除表的內容。
查詢自不必說,而新增,刪除和修改,只需在select語句後加入for update,
對表進行行級鎖定,然後點擊窗口的鎖型圖標,即可進入編輯狀態。
下面介紹一下如何從Excel中提取文本插入到資料庫中,
我們的Excel文件中有三列,在資料庫中建立臨時表:
CREATE TABLE t1(
cino varchar2(100),
contno varchar2(100),
loanno varchar2(100)
)
然後在SQL Window中輸入select t1 for update,並點擊鎖型滑鼠,進入編輯狀態,
用滑鼠點擊第一行的輸入窗口,這時PLD會死鎖幾秒鍾,
然後可以見到游標在第一行的輸入框中閃動,
用滑鼠把CINO, CONTNO, LOANNO選中,進入Excel中,把需要插入資料庫的內容選中,
然後切換到PLD,按Ctrl + V,點擊√,然後再點擊Commit按鈕,
則數據提交到表t1中,執行select * from t1可以看到內容.

10. PL/SQL Beautifier(PL/SQL 美化器)
PLD 6以上版本有對DML代碼格式化的功能。
在SQL Window或Program Window中選中部分代碼(如果不選則對整個窗口的代碼操作),
在菜單中選Edit -> PL/SQL Beautifier,得到格式化的代碼。
對於非法的DML語句或DDL語句,PLD將會在下方狀態欄提示:
PL/SQL Beautifier could not parse text。
在預設的狀態下,PLD會把DML語句的每一個欄位都排在單獨的一行,這樣不方便查看。
在菜單中選Edit à PL/SQL Beautifier Options,進入Preferences窗口,
選擇Edit,進入配置文件編輯界面,在標簽欄選DML,
在窗口中部的Select, Insert和Update組框中把Fit選中,然後點擊Save,
把配置文件保存到PLD的安裝目錄下,點擊Close關閉。
在Rules file中輸入配置文件所在位置,點擊OK,完成配置文件切換。
這時再對代碼進行格式化,就可以使每一個欄位盡可能的在一行上了。

11. TNS Names
菜單Help->Support Info->TNS Names,可以查看Oracle的tnsnames.ora。
12. Copy to Excel
在SQL Window中執行Select語句,在結果出來以後,右鍵點擊下面的數據區,
選擇Copy to Excel,可以把數據區的記錄原樣拷貝到Excel中。
但有兩點需要注意:
(1) field中不能以=開始,否則Excel會誤認為是函數;
(2) 數字不要超過17位,否則後面的位數將會置為0,
但可以通過在數字前加'來使Excel認為該field是文本,
同時對於資料庫中Numbe類型的欄位,最好用to_char輸出,不然可能會顯示不正常;

13. 保持上次打開的SQL腳本
重新進入PL/SQL Developer時,Window List能打開上次退出時的文檔:
(1) 將菜單Tools->Window list選項勾上;
(2) Tools->Perferences->User Interface->Options的右邊,
將"Autosave desktop"勾選.
(3) 退出PL/SQL Developer重新進入.
14. 快速找到已知表名的表或其他對象:
在Tools菜單中,勾選上Object Browser,將對象瀏覽器打開,
雙擊對象瀏覽器中的某個對象所處的文件夾,
比如表都是在Tables文件夾中,
然後以盡快的速度輸入表名,即可找到以你輸入的幾個字母開頭的對象了.

15. 快速關閉打開於Windows List中的文檔窗口:
按住Shift鍵,左鍵點擊需要關閉的文檔窗口.

16. PL/SQL DEVELOPER中的專用復制(Special Copy)
如果你正在用 PL/SQL Developer 寫 SQL 和 PL/SQL 代碼,
隨後你又要在其它工具里使用代碼,例如象 3GL 這樣的程序設計語言,
那麼你可能需要把這些代碼轉換為稍微不同的格式。
讓我們假設你已經在 PL/SQL Developer 里寫了並測試了這樣一個SQL 語句:
select deptno, sum(sal) mgr_sal
from emp
where job = 'MANAGER'
group by deptno
order by mgr_sal desc
例如,如果你要在Borland Delphi 里使用這個語句,你可能需要象這樣的格式:
SQL := 'select deptno, sum(sal) mgr_sal from emp' + #13#10 +
'where job = ''MANAGER''' + #13#10 +
'group by deptno' + #13#10 +
'order by mgr_sal desc';
為了這個目的,在PL/SQL DEVELOPER中選中已寫好的SQL語句,滑鼠右鍵,
在彈出的菜單中找到 Special Copy。這個功能有一個子菜單,它顯示了所有被定義的專用復制格式。
在選擇了格式之後,被轉換的代碼就被儲存在剪貼板上了,
這樣你就可以粘貼它到相應工具的編輯器里了。

專用復制格式被定義在 PL/SQL Developer 安裝目錄下的 SpecialCopy 子目錄里。
你可以改變預先確定的復制格式或者添加新的復制格式。
僅僅簡單地添加一個帶有 . 擴展名的文本文件就可以了,
它包含了一個針對 PL/SQL 代碼第一行的變數
(<line_1>)、一個針對 PL/SQL 代碼最後一行的變數(<line_N>)
和一個針對所有其它行的變數(<line_*>)。下面是一個針對 Borland Delphi 的例子:
;PL/SQL Developer SpecialCopy definition for Borland Delphi
;<line_1> for first line
;<line_*> for all other lines
;<line_N> for last line
;
SQL := '<line_1>' + #13#10 +
'<line_*>' + #13#10 +
'<line_n>';
第一行需要為指派到 SQL 的變數加上前言,接下來需要有一個 CR/LF 對。
最後一行不需要有CR/LF 對,但需要用分號來終止。所有其它行僅僅需要 CR/LF 接在後面。
如果 <line_1> 和 <line_n> 都與 <line_*> 一樣,你可以忽略它們。
在一些語言里,你需要對特定的字元使用換碼序列。
例如,在 C++ 里,你要對 tab字元(ASCII 碼為 9)使用 \t 。
要定義這些換碼序列,請使用 #define 關鍵詞:
#define char(9) = \t
#define \ = \\
String("<line_1>\n") +
String("<line_*>\n") +
String("<line_n>");
你還可以使用 "#define compress"來指出你要從結果里移除所有多餘的空字元(空格、製表符和換行)。
注意,. 文件的名字將被包括在菜單里,所以你應該使用描述性的文件名。

17. 在PL/SQL DEVELOPER中復制行記錄的簡便方法
(1) 單擊要拷貝的行記錄左邊的黑色小三角,該行被選中,右鍵復制。
(2) 粘貼至記事本里,然後復制剛才粘貼的內容。(該步驟不知何故不能缺)
(3) 單擊新記錄左邊的黑色小三角,右鍵粘貼即可。
18. 快捷鍵定義的位置:
Tools->Preferences->User Interface->Key configuration
選中需要定義的Item,然後按一個快捷鍵組合即可,
如果所按的快捷鍵已有定義,會有提示,這時候Cancel,另外選擇快捷鍵組合即可;

通常情況下,打開PLSQL Developer後,最經常乾的事就是打開SQL Window和Command Window,
就給這兩個操作定義了快捷鍵, ALT+S 和 ALT + C,這樣拿滑鼠點三下的事情只需要按一下鍵。

設置方法:
菜單Tools -> Preferences -> Key Configuration
注意:
如果設置了快捷鍵不起作用,
回到Tools -> Preferences -> Key Configuration界面,
點擊最上方的"Default Administrator"右邊的"..."按鈕,
在彈出的"Preference Set"界面中,對"Personal Preferences"
以及下面的"Definition"->"Description"進行一下設置.
19. 在窗口標題欄內顯示文件的完全路徑
Tools->Preferences->User Interface->Options
勾選"Show complete file path in windows titles"
20. Object Brower中自定義Object的順序以及登錄後默認自動選中My Objects
默認情況下,PL/SQL Developer登錄後,Brower里會選擇All objects,
如果你登錄的用戶是dba,要展開tables目錄,正常情況都需要Wait幾秒鍾,
而選擇My Objects後響應速率則是以毫秒計算的。

設置方法:
Tools菜單 -> Object Brower Filters,會打開Define Browser Filters界面,
選中"My Objects",並勾選 "Default" 設為默認即可。

Tools菜單 -> Object Brower Folders,會打開Define Browser Folders界面,
這里可以把經常用到的幾個目錄(比如:Tables Views Seq Functions Proceres)
移得靠上一點,並加上顏色區分,這樣你的平均尋表時間會大大縮短,試試看。
21. 雙擊即顯示表數據
滑鼠雙擊表或者視圖時的默認響應實在讓我感到失望,因為我最關心的是表結構和數據,
但是雙擊後這兩件事情都沒有發生,也許默認響應是高手們需要的,
但對我來說查看數據和表結構是最主要的,其他的我不關心。
不過好的是這是可以設置的,你可以給滑鼠雙擊和拖放綁定需要的事件,
比如:雙擊編輯數據,拖放顯示表結構,Yeah!

設置方法:
菜單Tools -> Preferences -> Object Browser,
在右側,為不同的Object Type綁定雙擊和拖放操作。

22. 去掉注釋的斜體樣式:
菜單Tools -> Preferences -> User Interface->Editor
在右邊的界面中"Syntax Highlighting"下,去掉"Comment"右邊的"Italic"的勾選.

❷ excel連接sql 參數怎麼設置

Excel程序自帶的外部數據連接功能,可以連接SQL伺服器。具體步驟為:
1、選擇【數據】選項卡,在【獲取外部數據】分組,找到【自其他來源】。
2、單擊【自其他來源】按鈕,打開【選擇來源】下拉菜單。
3、選擇【來自SQL Server】打開【數據連接向導】對話框。
4、填寫伺服器名稱、登錄的用戶名及密碼等信息,即可成功連接。

❸ sql 資料庫查詢怎樣設置參數

直接在程序里寫成變數就可以了,變數要有賦值,否則會出錯
例如VB里這樣寫
SQL = "select * from proct where ID='" & Trim(Text1.Text) & "'"
rst4.Open SQL, con1, 1, 1

條件表示ID=Text1的Text的值

❹ SQL查詢中如何使用參數

這樣就只能通過動態拼成SQL了。
begin
declare @sql varchar(max)
set @sql ='SELECT PERSON, POSITION
FROM TABLE_'+變數+'
WHERE TIME>1514156400'
exec (@sql)
end

❺ sql server 2008 表值參數在哪

SQL SERVERE 2008 新穎之處在於表值參數(TVPS)。基本思想是數據表可以在客戶端應用程序
或者T-SQL 中創建並填充。然後作力一個數據表變數傳遞到存儲過程 或者由用戶自定義的函數中。
這並不是一件要有可無的事情。
DEMO:

//訂單表
CREATE TABLE dbo.Orders(
OrderId INT NOT NULL IDENTITY CONSTRAINT ORDERSPK PRIMARY KEY,
OrderDate DATETIME,
CustomerID INT
)
//訂單明細表
CREATE TABLE dbo.OrderDetails(
OrderId INT NOT NULL CONSTRAINT orderdetailFkOrders REFERENCES Orders,
LineNumber SMALLINT NOT NULL,
ProctID INT
)

---數據表類型
CREATE TYPE OrderDetailsType as TABLE
(
LineNumber INT,
ProctID INT,
IsNew BIT,
IsDirty BIT,
IsDeleted BIT
)

❻ SQL參數的使用

錯在,(@a=@b)表示兩個變數是否相等,你輸入的不等當然出來的結果為空。

❼ SQL Server常用到的幾個設置選項是什麼

1. SET DEADLOCK_PRIORITY
2. SET LOCK_TIMEOUT
3.@@LOCK_TIMEOUT
4.SET IDENTITY_INSERT
5.SET IMPLICIT_TRANSACTIONS
6.SET NOCOUNT
7.@@ROWCOUNT
8.SET ROWCOUNT
9.SET TRANSACTION ISOLATION LEVEL
10.SET XACT_ABORT
1. SET DEADLOCK_PRIORITY
說明:控制在發生死鎖情況時會話的反應方式。如果兩個進程都鎖定數據,並且直到其它進程釋放自己的鎖時,每個進程才能釋放自己的鎖,即發生死鎖情況。
語法:SET DEADLOCK_PRIORITY { LOW | NORMAL | @deadlock_var }
參數:LOW 指定當前會話為首選死鎖犧牲品。Microsoft® SQL Server™ 自動回滾死鎖犧牲品的事務,並給客戶端應用程序返回 1205 號死鎖錯誤信息。
NORMAL 指定會話返回到默認的死鎖處理方法。
@deadlock_var 是指定死鎖處理方法的字元變數。如果指定 LOW,則 @deadlock_var 為 3;如果指定 NORMAL,則 @deadlock_var 為 6。
注釋:SET DEADLOCK_PRIORITY 的設置是在執行或運行時設置,而不是在分析時設置。
許可權:SET DEADLOCK_PRIORITY 許可權默認授予所有用戶。
2. SET LOCK_TIMEOUT
說明:指定語句等待鎖釋放的毫秒數。
語法:SET LOCK_TIMEOUT timeout_period
參數:timeout_period 是在 Microsoft® SQL Server™ 返回鎖定錯誤前經過的毫秒數。值為 -1(默認值)時表示沒有超時期限(即無限期等待)。
當鎖等待超過超時值時,將返回錯誤。值為 0 時表示根本不等待,並且一遇到鎖就返回信息。
注釋:在連接開始時,該設置的值為 -1。設置更改後,新設置在其餘的連接時間里一直有效。
SET LOCK_TIMEOUT 的設置是在執行或運行時設置,而不是在分析時設置。
READPAST 鎖定提示為該 SET 選項提供了另一種方式。
許可權:SET LOCK_TIMEOUT 許可權默認授予所有用戶。

❽ SQL參數如何設置

密碼應該是系統默認的哪個樣的,你試下看看輸入 sa 或admin 或 administrator這些等等的。。

❾ SQL 存儲過程中參數怎麼使用

參數定義
單個參數
1>
CREATE
PROCEDURE
HelloWorld1
2>
@UserName
VARCHAR(10)
3>
AS
4>
BEGIN
5>
PRINT
'Hello'
+
@UserName
+
'!';
6>
END;
7>
go
1>
DECLARE
@RC
int;
2>
EXECUTE
@RC
=
HelloWorld1
'Edward'
;
3>
PRINT
@RC;
4>
go
HelloEdward!
0
IN、OUT、IN
OUT
註:
SQL
Server

OUTPUT
需要寫在變數數據類型後面。
SQL
Server
沒有
IN
OUT
關鍵字
OUTPUT
已經相當於
IN
OUT
了。
1>
CREATE
PROCEDURE
HelloWorld2
2>
@UserName
VARCHAR(10),
3>
@OutVal
VARCHAR(10)
OUTPUT,
4>
@InoutVal
VARCHAR(10)
OUTPUT
5>
AS
6>
BEGIN
7>
PRINT
'Hello
'
+
@UserName
+
@InoutVal
+
'!';
8>
SET
@OutVal
=
'A';
9>
SET
@InoutVal
=
'B';
10>
END;
11>
go
1>
2>
DECLARE
@RC
int,
@OutVal
VARCHAR(10),
@InoutVal
VARCHAR(10);
3>
BEGIN
4>
SET
@InoutVal
=
'~Hi~';
5>
EXECUTE
@RC
=
HelloWorld2
'Edward',
@OutVal
OUTPUT,
@InoutVal
OUTPUT;
6>
PRINT
@RC;
7>
PRINT
'@OutVal='
+
@OutVal;
8>
PRINT
'@InoutVal='
+
@InoutVal;
9>
END
10>
go
Hello
Edward~Hi~!
0
@OutVal=A
@InoutVal=B
參數的默認值
1>
CREATE
PROCEDURE
HelloWorld3
2>
@UserName
VARCHAR(10),
3>
@Val1
VARCHAR(20)
=
'
Good
Moning,',
4>
@Val2
VARCHAR(20)
=
'
Nice
to
Meet
you'
5>
AS
6>
BEGIN
7>
PRINT
'Hello
'
+
@UserName
+
@Val1
+
@Val2
+
'!';
8>
END;
9>
go
1>
2>
DECLARE
@RC
int;
3>
BEGIN
4>
EXECUTE
@RC
=
HelloWorld3
'Edward';
5>
PRINT
@RC;
6>
EXECUTE
@RC
=
HelloWorld3
'Edward',
'
Good
Night,';
7>
PRINT
@RC;
8>
EXECUTE
@RC
=
HelloWorld3
'Edward',
'
Good
Night,',
'
Bye';
9>
PRINT
@RC;
10>
END
11>
go
Hello
Edward
Good
Moning,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Bye!
0
指定參數名稱調用
此部分使用
「參數默認值」那一小節的存儲過程。
用於說明當最後2個參數是有默認的時候,如何跳過中間那個。
1>
DECLARE
@RC
int;
2>
BEGIN
3>
EXECUTE
@RC
=
HelloWorld3
'Edward';
4>
PRINT
@RC;
5>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val1='
Good
Night,';
6>
PRINT
@RC;
7>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val1='
Good
Night,',
@Val2='
Bye';
8>
PRINT
@RC;
9>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val2='
HeiHei
';
10>
PRINT
@RC;
11>
END
12>
go
Hello
Edward
Good
Moning,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Bye!
0
Hello
Edward
Good
Moning,
HeiHei
!
0

❿ SQL資料庫連接參數設置如何打開

private Connection conn = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;

try {
String sql = "INSERT INTO \"UserInfo\" (\"MESSAGE\") VALUES (?);";
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(dbURL, userName, password);
pstmt = conn.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
pstmt.setString(1, msg);
pstmt.execute();
rs = pstmt.getGeneratedKeys();

if (rs.next()) {
userID = rs.getObject(1).toString();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

是要這個嗎?