SQL存储过程实例
例1 传入一个参数@username,判断用户是否存在
-------------------------------------------------------------------------------
CREATE PROC IsExistUser
(
@username varchar(20),
@IsExistTheUser varchar(25) OUTPUT--输出参数
)
as
SELECT @IsExistTheUser = count(username)
from users
WHERE username = @username
GO
例2 存储过程结合事务的一个例子:添加用户,涉及到两个表,一个用户资料表,一个密码表:
增加用户
-------------------------------------------------------------------------------
create procedure AddUser
(
@username varchar(20),--用户名
@passwords varchar(18),--密码
@email varchar(100),--邮箱
@qq varchar(11),--QQ号码
@imageid int--头像
)
as
-- 设置NOCOUNT为ON,使不再返回统计信息(存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。)
SET NOCOUNT ON
DECLARE @CurrentError int
-- 创建事务, 插入数据到2个表
BEGIN TRANSACTION
-- 创建用户信息
INSERT INTO users (username, email, qq, imageid)
VALUES (@username, @email, @qq, @imageid)
select @CurrentError = @@Error
IF @CurrentError != 0
BEGIN
GOTO ERROR_HANDLER
END
-- 创建用户密码
INSERT INTO Signon (username, [password])
VALUES (@username, @passwords)
select @CurrentError = @@Error
IF @CurrentError != 0
BEGIN
GOTO ERROR_HANDLER
END
-- 结束事务
COMMIT TRANSACTION
-- 恢复NOCOUNT设置为OFF
SET NOCOUNT OFF
-- 返回0表示成功,其他则为失败
RETURN 0
-- 错误处理
ERROR_HANDLER:
ROLLBACK TRANSACTION
SET NOCOUNT OFF
RETURN @CurrentError
GO
相关文档:
SQL Server 优化性能的几个方面
(一).数据库的设计
可以参看最近论坛上出现一个精华帖http://topic.csdn.net/u/20100415/10/a377d835-acbd-4815-8bcb-b367f88ac8b5.html?92227
数据库设计包含物理设 ......
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'CLR', 0
GO
-- To update the currently configured value for this feature.
......
第一种办法:先选中出错的数据库→选中以后右键点击属性会弹出数据库属性 对话框→选中数据库属性对话框中的选项→把选项中的排序规则设置成:Chinese_PRC_90_CI_AS→最后点击确定即可。
(注意:在选择数据库属性的时候必须确保你所修改的数据库未被使用才可以修改否则会失败的)
第二种办法:首先打开你 ......
ACCESS数据库
1:CodeSmith选中链接类型是:ADOXSchema
2:无密码的Access链接为:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb;
3:有密码的Access链接:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb;
Jet OLEDB:Database Password=1111
Sql数据库
server=192.1.1.14;User ID=test; ......