解讀SQL存儲過程入門級教程(6)_Mssql數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:按指定排列順序獲取數據的sql語句
      測試table create table table1 (id int,name char) insert into table1 select 1,'q' union all select 2,'r' union all select 3,'3' union all select 4,'5' 要求按指定的id順序(比如2,1,4,3)排列獲取table1的數據 方法1: 使用union all,但是有256條數據的


      如果其他用戶要使用某個存儲過程,那么在該存儲過程內部,一些語句使用的對象名必須使用對象所有者的名稱限定。這些語句包括: 

      ALTER TABLE

      CREATE INDEX

      CREATE TABLE

      所有 DBCC 語句

      DROP TABLE

      DROP INDEX

      TRUNCATE TABLE

      UPDATE STATISTICS 
      權限
      CREATE PROCEDURE 的權限默認授予 sysadmin 固定服務器角色成員和 db_owner 和 db_ddladmin 固定數據庫角色成員。sysadmin 固定服務器角色成員和 db_owner 固定數據庫角色成員可以將 CREATE PROCEDURE 權限轉讓給其他用戶。執行存儲過程的權限授予過程的所有者,該所有者可以為其它數據庫用戶設置執行權限。
      示例
      A. 使用帶有復雜 SELECT 語句的簡單過程
      下面的存儲過程從四個表的聯接中返回所有作者(提供了姓名)、出版的書籍以及出版社。該存儲過程不使用任何參數。

      USE pubs
      IF EXISTS (SELECT name FROM sysobjects 
      WHERE name = \’au_info_all\’ AND type = \’P\’)
      DROP PROCEDURE au_info_all
      GO
      CREATE PROCEDURE au_info_all
      AS
      SELECT au_lname, au_fname, title, pub_name
      FROM authors a INNER JOIN titleauthor ta
      ON a.au_id = ta.au_id INNER JOIN titles t
      ON t.title_id = ta.title_id INNER JOIN publishers p
      ON t.pub_id = p.pub_id
      GO

      au_info_all 存儲過程可以通過以下方法執行:

      EXECUTE au_info_all
      -- Or
      EXEC au_info_all

      如果該過程是批處理中的第一條語句,則可使用:

      au_info_all 

      分享:總結經典常用的SQL語句(2)
      向表中添加一個新記錄,你要使用SQLINSERT語句。 這里有一個如何使用這種語句的例子: INSERTmytable(mycolumn)VALUES(‘somedata’) 這個語句把字符串’somedata’插入表mytable的mycolumn字段中。將要被插入數據的字段的名字在第一個括號中指定,實際的數

      共6頁上一頁123456下一頁
      來源:模板無憂//所屬分類:Mssql數據庫教程/更新時間:2010-04-06
      相關Mssql數據庫教程