SQL Server存储过程的命名标准
在本文中,此示例标准蓝图的存储过程命名方法只适用于SQL内部,假如你正在创建一个新的存储过程,或是发现一个没有按照这个标准构造的存储过程,即可以参考使用这个标准。
注释:假如存储过程以sp_ 为前缀开始命名那么会运行的稍微的缓慢,这是因为SQL Server将首先查找系统存储过程,所以我们决不推荐使用sp_作为前缀。
存储过程的命名有这个的语法:
[proc] [MainTableName] By [FieldName(optional)] [Action]
[ 1 ] [ 2 ] [ 3 ] [ 4 ]
(1) 所有的存储过程必须有前缀'proc'. 所有的系统存储过程都有前缀"sp_", 推荐不使用这样的前缀因为会稍微的减慢。
(2) 表名就是存储过程访问的对象。
(3) 可选字段名就是条件子句。 例如:
procClientByCoNameSelect, procClientByClientIDSelect
(4) 最后的行为动词就是存储过程要执行的任务。
如果存储过程返回一条记录那么后缀是:Select
如果存储过程插入数据那么后缀是:Insert
如果存储过程更新数据那么后缀是:Update
如果存储过程有插入和更新那么后缀是:Save
如果存储过程删除数据那么后缀是:Delete
如果存储过程更新表中的数据 (ie. drop and create) 那么后缀是:Create
如果存储过程返回输出参数或0,那么后缀是:Output
例子:
一个仅仅返回一个输出参数的存储过程:
ALTER PROCEDURE procClientRateOutput
@pstrClientID VARCHAR(6) = 'CABLE',
@pstrCategoryID VARCHAR(6) = '<All>',
@pstrEmpID VARCHAR(6)='AC',
@pdteDate datetime = '1996/1/1',
@curRate MONEY OUTPUT
AS
-- Description: Get the $Rate for this client and this employee
-- and this category from Table ClientRate
SET @curRate = (
SELECT TOP 1 Rate
from ClientRate
&n
相关文档:
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 ......
如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS)。
在这里,我不打算介绍使用SQL Server的窍门,也不能提供一个包治百病的方案,我所做的是总结一些经验----关于如何形成一个好的设计 ......
select * from student where name=?;
如果不用单引号引起来, pstmt.setString(1,"xx or 1=1");即sql应该就是select * from student where name=xx or 1=1就可以全部查出。
强制单引号引起来,select * from student where name='xx or 1=1'。就无效了。
数值型的没有要求用单引号引起来,应该是由于有一个转换过 ......