當前位置:首頁 » 存儲配置 » mysql創建存儲過程許可權

mysql創建存儲過程許可權

發布時間: 2022-11-21 06:45:48

1. mysql 存儲過程 是什麼意思

用select...into語句

下面是mysql 5.0的幫助文檔的:
這個SELECT語法把選定的列直接存儲到變數。因此,只有單一的行可以被取回。

SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用戶變數名在MySQL 5.1中是對大小寫不敏感的。請參閱9.3節,「用戶變數」。

重要: SQL變數名不能和列名一樣。如果SELECT ... INTO這樣的SQL語句包含一個對列的參考,並包含一個與列相同名字的局部變數,MySQL當前把參考解釋為一個變數的名字。例如,在下面的語句中,xname 被解釋為到xname variable 的參考而不是到xname column的:

CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;

SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
當這個程序被調用的時候,無論table.xname列的值是什麼,變數newname將返回值『bob』。

2. mysql創建存儲過程示例

1
用mysql客戶端登入
2
選擇資料庫
mysql>use
test
3
查詢當前資料庫有哪些存儲過程
mysql>show
procere
status
where
db='test'
4
創建一個簡單的存儲過程
mysql>create
procere
hi()
select
'hello';
5
存儲過程創建完畢,看怎麼調用它
mysql>call
hi();
顯示結果
mysql>
call
hi();
+-------+
|
hello
|
+-------+
|
hello
|
+-------+
1
row
in
set
(0.00
sec)
query
ok,
0
rows
affected
(0.01
sec)
6
一個簡單的儲存過程就成功了

3. mysql存儲過程

MySQL存儲過程創建的格式如下:
CREATE PROCEDURE 過程名 ([過程參數[,...]])[特性 ...] 過程體
舉例代碼如下:

CREATE PROCEDURE proc1(OUT s int) BEGIN SELECT COUNT(*) INTO s FROM user; END

存儲過程根據需要可能會有輸入、輸出、輸入輸出參數,這里有一個輸出參數s,類型是int型,如果有多個參數用","分割開。
過程體的開始與結束使用BEGIN與END進行標識。
注意:MySQL在5.0以前並不支持存儲過程

4. MYSQL如果將修改存儲過程的許可權給別的用戶

最佳答案語法是錯的。
GRANT EXECUTE ON PROCEDURE 存儲過程名稱 to 用戶名稱;
前提是執行這條語句的用戶是有這個存儲過程的許可權的。

5. mysql存儲過程及流程式控制制

存儲過程(Stored
Procere)是一組為了完成特定功能的SQL語句集功能是將常用或復雜的工作,預先用SQL語句寫好並用一個指定名稱存儲起來,
以後需要資料庫提供與已定義好的存儲過程的功能相同的服務時,只需調用
call
存儲過程名字,
即可自動完成命令。存儲過程是由流控制和SQL語句書寫的過程,這個過程經編譯和優化後存儲在資料庫伺服器中,可由應用程序通過一個調用來執行,而且允許用戶聲明變數
。同時,存儲過程可以接收和輸出參數、返回執行存儲過程的狀態值,也可以嵌套調用。

6. 如何修改mysql 存儲過程許可權

方法如下:

  1. 修改mysql 存儲過程的definer
    修改mysql.proc表 的definer欄位


update mysql.proc set definer='root@%' where db='servant_591up'; UPDATE `mysql`.`proc` SET `definer`='root00@%' WHERE `db`='test' AND `name`='jjjj' AND `type`='PROCEDURE'; UPDATE `mysql`.`proc` SET `definer`='wtc_678869@%' WHERE `db`='servant_591up' AND `type`='PROCEDURE';


2.修改sql security

ALTER PROCEDURE www SQL SECURITY INVOKER ; ALTER PROCEDURE www SQL SECURITY DEFINER ;



(1)MySQL存儲過程是通過指定SQL SECURITY子句指定執行存儲過程的實際用戶;

(2)如果SQL SECURITY子句指定為DEFINER,存儲過程將使用存儲過程的DEFINER執行存儲過程,驗證調用存儲過程的用戶是否具有存儲過程的execute許可權和DEFINER用戶是否具有存儲過程引用的相關對象的許可權;

(3)如果SQL SECURITY子句指定為INVOKER,那麼MySQL將使用當前調用存儲過程的用戶執行此過程,並驗證用戶是否具有存儲過程的execute許可權和存儲過程引用的相關對象的許可權;

(4)如果不顯示的指定SQL SECURITY子句,MySQL默認將以DEFINER執行存儲過程。

3.執行存儲過程授權

GRANT EXECUTE ON test.* TO 'wtc'@'%'; GRANT CREATE ROUTINE,ALTER ROUTINE, SELECT,CREATE, INSERT, UPDATE, DELETE, EXECUTE ON test.* TO 'wtc'@'%' IDENTIFIED BY '111111'


CREATE ROUTINE : 創建存儲過程的許可權
ALTER ROUTINE : 修改存儲過程的許可權

4.刪除用戶

REVOKE all ON test.* FROM wtc@'%'


DELETE FROM user WHERE User='user_name' and Host='host_name';

FLUSH PRIVILEGES;

好文要頂關注我

7. mysql如何創建存儲過程

1 用mysql客戶端登入
2 選擇資料庫
mysql>use test
3 查詢當前資料庫有哪些存儲過程
mysql>show procere status where Db='test'
4 創建一個簡單的存儲過程
mysql>create procere hi() select 'hello';
5 存儲過程創建完畢,看怎麼調用它
mysql>call hi();
顯示結果 mysql> call hi();
+-------+
| hello |
+-------+
| hello |
+-------+
1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
6 一個簡單的儲存過程就成功了

8. MSQ創建存儲過程,初級MSQ大佬求助

1系統存儲過程

以sp_開頭,用來進行系統的各項設定.取得信息.相關管理工作。

2本地存儲過程

用戶創建的存儲過程是由用戶創建並完成某一特定功能的存儲過程,事實上一般所說的存儲過程就是指本地存儲過程。

3臨時存儲過程

分為兩種存儲過程:

一是本地臨時存儲過程,以井字型大小(#)作為其名稱的第一個字元,則該存儲過程將成為一個存放在tempdb資料庫中的本地臨時存儲過程,且只有創建它的用戶才能執行它;

二是全局臨時存儲過程,以兩個井字型大小(##)號開始,則該存儲過程將成為一個存儲在tempdb資料庫中的全局臨時存儲過程,全局臨時存儲過程一旦創建,以後連接到伺服器的任意用戶都可以執行它,而且不需要特定的許可權。

4遠程存儲過程

在SQL Server2005中,遠程存儲過程(Remote Stored Proceres)是位於遠程伺服器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。

5擴展存儲過程

擴展存儲過程(Extended Stored Proceres)是用戶可以使用外部程序語言編寫的存儲過程,而且擴展存儲過程的名稱通常以xp_開頭。

基本語法
創建存儲過程
create procere sp_name

@[參數名] [類型],@[參數名] [類型]

as

begin

.........

end

以上格式還可以簡寫成:

create proc sp_name

@[參數名] [類型],@[參數名] [類型]

as

begin

.........

end

/*注:"sp_name"為需要創建的存儲過程的名字,該名字不可以以阿拉伯數字開頭*/

調用存儲過程
1.基本語法:exec sp_name [參數名]

刪除存儲過程
1.基本語法:

drop procere sp_name

2.注意事項

(1)不能在一個存儲過程中刪除另一個存儲過程,只能調用另一個存儲過程

其他常用命令
1.show procere status

顯示資料庫中所有存儲的存儲過程基本信息,包括所屬資料庫,存儲過程名稱,創建時間等

2.show create procere sp_name

顯示某一個mysql存儲過程的詳細信息

3、exec sp_helptext sp_name

顯示你這個sp_name這個對象創建文本。

9. 如何用phpmyadmin設置mysql資料庫用戶的許可權

首先打開phpMyadmin;
點擊用戶菜單;
在任意用戶菜單上點擊「編輯許可權」;

修改密碼點擊執行就OK了

許可權意思可以對照下面翻譯:
數據:
SELECT:允許讀取數據。
INSERT:允許插入和替換數據。
UPDATA:允許更改數據。
DELETE:允許刪除數據。
FILE:允許從文件中導入數據以及將數據導出至文件。
結構:
CREATE:允許創建新資料庫和表。
ALTER:允許修改現有表的結構。
INDEX:允許創建和刪除索引。
DROP:允許刪除資料庫和表。
CREATE TEMPORARY TABLES:允許創建暫時表。
CREATE VIEW:允許創建新的意見。
SHOW VIEW:顯示創建的看法。
CREATE ROUTINE:允許創建存儲過程。
ALTER ROUTINE:允許改變和下降存儲過程。
EXECUTE:允許許執行存儲過程。
管理:
GRANT:允許添加用戶和許可權,而不允許重新載入許可權表。
SUPER:允許在達到最大允許數目時仍進行連接。
PROCESS:允許查看進程列表中的完整查詢。
RELOAD:允許重新載入伺服器設置並刷新伺服器的緩存
SHUTDOWN:允許關閉伺服器。
SHOW DATABASES:允許訪問完整的資料庫列表。
LOCK TABLES:允許鎖住當前線索的表。
REFERENCES:在此版本的 MySQL 中無效。
REPLICATION CLIENT:用戶有權詢問附屬者/控制者在哪裡。
REPLICATION SLAVE:回復附屬者所需。
CREATE USER:允許創建,下降和重新命名的用戶帳戶。

熱點內容
小程序智能名片源碼 發布:2025-07-23 16:18:07 瀏覽:188
編程文 發布:2025-07-23 16:16:20 瀏覽:865
編譯器運行後不出網頁 發布:2025-07-23 16:15:29 瀏覽:953
redis緩存方案php 發布:2025-07-23 16:14:04 瀏覽:733
linuxyum安裝包 發布:2025-07-23 16:04:32 瀏覽:38
冒險島766新版資料庫 發布:2025-07-23 15:51:42 瀏覽:579
ftp的服務主要問題是 發布:2025-07-23 15:51:08 瀏覽:61
網站中演算法 發布:2025-07-23 15:51:04 瀏覽:582
同花順神奇電波源碼 發布:2025-07-23 15:45:09 瀏覽:253
夜神安卓模擬器怎麼換碼 發布:2025-07-23 15:25:53 瀏覽:138