解读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数据库教程