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
相关文档:
http://www.umgr.com/blog/PostView.aspx?bpId=36294
1. 执行sql语句
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callbacksql 语法
, void *, char **errmsg );
这就是执行一条 sql 语句的函数。
第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。
第2个参数const char ......
Table-Naming Standards
Table-naming standards, as well as any standard within a business, are critical to
maintaining control. After studying the tables and data in the previous sections, you
probably noticed that each table’s suffix is _TBL. This is a naming standard selected
for use, suc ......
在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等。我们通常的做法是:select count(*) as c from tableA 。然而对于记录数巨大的表,上述做法将会非常耗时。在DELL 4400 服务器上做试验,MS Sqlserver 2000 数据库对于100万记录的简单数据表执行上述语句,时 ......
Oracle 动态SQL返回单条结果和结果集
1. DDL 和 DML
/**//*** DDL ***/
begin
EXECUTE IMMEDIATE 'drop table temp_1';
EXECUTE IMMEDIATE 'create table temp_1(name varchar2(8))';
end;
/**//*** DML ***/
declare
v_1 varchar2(8);
& ......
在T-SQL中监视进程
DBA更愿意使用T-SQL的原因是可以比“活动监视器”更加灵活地获得信息。
1. sp_who和sp_who2
存储过程sp_who也返回当前连接数据库实例,与“活动监视器”非常类似。然而,用户可能发现自己更愿意使用未公开说明的sp_who2存储过程,因为它提供 ......