SQL数据库
1. 存储过程(定义&编写)
l 创建存储过程
CREATE PROCEDURE storedproc1
AS
SELECT *
from tb_project
WHERE 预计工期<= 90
ORDER BY 预计工期 DESC
GO
exec storedproc1
GO
l 修改存储过程
ALTER PROCEDURE storedproc1
AS
SELECT 项目名称,预计工期
from tb_project
WHERE 预计工期>=90
ORDER BY 预计工期 DESC
GO
exec storedproc1
GO
CREATE PROCEDURE store7
@name varchar(10),@avgpbiaodi int OUTPUT
AS
DECLARE @errorsave int
SET @errorsave=0
SELECT @avgpbiaodi=AVG(预计工期)
from tb_project AS p INNER JOIN tb_employee AS e
ON p.客户编号= e.编号
WHERE e.姓名=@name
IF(@@error<>0)
SET @errorsave=@@error
RETUREN @errorsave
GO
DECLARE @returnvalue int,@avg int
exec @returnvalue=store7 '孙小丽',@avg OUTPUT
PRINT '执行的结果'
PRINT '返回值='+CAST(@returnvalue AS char(2))
PRINT 'sun负责项目的平均工期:' +CAST(@avg AS char(10))
GO
2. EXEC &GO(使用存储过程)
l 查看存储过程
EXEC sp_helptext storedproc1
EXEC sp_depends storedproc1
EXEC sp_help storedproc1 ---在当前数据库中查找对象
实例239//////////////////////////////
USE sml
GO
CREATE VIEW 视图
AS
SELECT *
from tb_employee
WHERE 工资=600
EXEC sp_helptext '视图' --显示该对象的定义信息,对象必须在当前数据库中
USE sml
EXEC sp_depends '视图' --被检查相关行的数据库对象,对象可以是表,视图,存储过程,或触发器,对象的--数据类型为varchar(766).若一个对象引用另一个对象,则人权诶前者依赖后者,通过检查sysdepends表--确定相关性
GO
//////////////////////////////////
EXEC sp_rename'人员表','人员信息表'
EXEC sp_rename'人员信息表.电话','联系电话','COLUMN'
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
////////////////////
USE master
EXEC sp_addextendedproc xp_hello, 'xp
相关文档:
如果你经常遇到下面的问题,你就要考虑使用SQL Server的模板来写规范的SQL语句了:
SQL初学者。
经常忘记常用的DML或是DDL SQL 语句。
在多人开发维护的SQL中,每个人都有自己的SQL习惯,没有一套统一的规范。
在SQL Server Management Studio中,已经给大家提供了很多常用的现成SQL规范模板。
SQL Server Management ......
1 :普通SQL语句可以用Exec执行
例: Select * from tableName
Exec('select * from tableName')
& ......
一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。
3、LO ......
低效: (索引失效)
SELECT … from DEPARTMENT WHERE DEPT_CODE IS NOT NULL;
高效: (索引有效)
SELECT … from DEPARTMENT WHERE DEPT_CODE >=0;
(27)总是使用索引的第一个列:
如果索引是建立在多 ......