SQL server中如何存储:
首先准备数据,测试存储过程
use ssqadm;
创建测试books表
create table books_test ( book_id int identity(1,1) primary key,
book_name varchar(20),book_price float,book_auth varchar(10));
插入测试数据
insert into books_test (book_name,book_price,book_auth)values
('论语',25.6,'孔子'),
('天龙八部',25.6,'金庸'),
('雪山飞狐',32.7,'金庸'),
('平凡的世界',35.8,'路遥'),
('史记',54.8,'司马迁');
select * from books_test;*/
创建无参存储过程
if (exists (select * from sys.objects where name = 'getAllBooks'))
drop proc getAllBooks
go
create procere getAllBooks
as
begin
select * from books_test;
调用,执行存储过程
exec getAllBooks;
end
go
修改存储过程
alter procere getallbooks
as
select book_name from books_test;
修改存储过程的名称
sp_rename getallbooks,proc_get_allbooks;
go
exec proc_get_allbooks;
go
创建带参数的存储过程
use ssqadm
go
if (exists (select * from sys.objects where name = 'searchbooks'))
drop proc searchbooks
exec searchbooks
执行存储searchbooks得到如下结果:
go
create procere searchbooks (@bookid int)--括号里面是
as
begin
declare @book_id int;定义一个标量变量,只是保证存储过程的完整性,在本存储是多此一举的。
set @book_id = @bookid;
select* from books_test where book_id = @book_id;
end;
go
-- exec searchbooks
执行存储searchbooks得到如下结果:
创建带两个参数的存储过程
use ssqadm
go
if (exists (select * from sys.objects where name = 'book_test2'))
drop proc book_test2
exec book_test2
执行存储book_test2得到如下结果:
go
create procere book_test2
(@bookid int,@bookname varchar(20))括号里面是
as
begin
declare @book_id int;
定义一个标量变量,只是保证存储过程的完整性,在本存储是多此一举的。
declare @book_name varchar(20);
set @book_id = @bookid;
set @book_name = @bookname;
select* from books_test where book_id =
@book_id and book_name = @book_name;
end;
go
exec book_test2
(1)sql登陆存储过程扩展阅读:
SQL Server中查询存储命令子句:
USE [SSQADM]
Use 是跳转到哪个数据库,对这个数据库进行操作。
GO
GO向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号,相当于提交上面的SQL语句。
GO是把t-sql语句分批次执行
(一步成功了才会执行下一步,即一步一个GO)
/****** Object: StoredProcere [dbo].[PROC_four_five_hr]
Script Date: 07/30/2018 13:44:55 ******/
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ON
2. SQL存储过程如何调用存储过程
1、首先先创建一个存储过程,代码如图,存储过程主要的功能是为表JingYan插入新的数据。
3. C#中调用SQL存储过程实现登录认证代码
存储过程如下set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGOALTER
procere [dbo] [security_check](@user_sort int @userID nchar( ) @userPWD nchar( ) )
as
declare @uid nchar( );
declare @pwd nchar( );
declare @state bit;
set @state= ;
if( @user_sort= )
begin
declare cursor_temp cursor local for 定义游标
select 学号 密码 from 学生表 where 学号 = @userID and 密码 = @userPWD;
open cursor_temp; 打开游标
fetch cursor_temp into @uid @pwd; 推进游标
close cursor_temp;亏简 关闭游标
end
if( @uid =@userID and @pwd=@userPWD )
begin
set @state= ;
return @state;
end;
else
begin
set @state= ;
return @state;
end;
C#代码如下
using System;using System Collections Generic;using System Text;using System Data;using System Data SqlClient;
namespace 密码验证{ class security { public static DataSet check(string uid) { SqlConnection mySqlConnection = new SqlConnection( server= \SqlExpress;database=XSXK;integrated security=SSPI );
mySqlConnection Open();
SqlCommand mySqlCommand = mySqlConnection CreateCommand();
mySqlCommand CommandText = select * from 学生表 where 学号 = + uid;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
DataSet myDataSet = new DataSet() ;
&销态裤nbsp;闭余 mySqlDataAdapter SelectCommand = mySqlCommand ;
mySqlDataAdapter Fill (myDataSet 学生表 );
mySqlConnection Close();
return myDataSet;
}
public static bool secuirty_check(int user_select string uid string pwd) { int result = ;
SqlConnection mySqlConnection = new SqlConnection( server= \SqlExpress;database=XSXK;integrated security=SSPI );
SqlCommand mySqlCommand = new SqlCommand( security_check mySqlConnection );
mySqlCommand CommandType = CommandType StoredProcere;
// //关键部分!!
SqlParameter param = new SqlParameter();
param Direction = System Data ParameterDirection ReturnValue;
mySqlCommand Parameters Add(param);
// mySqlCommand Parameters Add( @user_sort SqlDbType Int ) Value = user_select ;
mySqlCommand Parameters Add( @userID SqlDbType NChar ) Value = uid ;
mySqlCommand Parameters Add( @userPWD SqlDbType NChar ) Value = pwd ;
//mySqlCommand Parameters[ @state ] Direction = ParameterDirection ReturnValue ;
mySqlConnection Open();
mySqlCommand ExecuteScalar();
mySqlConnection Close();
result = (int)param Value; if ( result == ) return false; else return true; } } class Program { static void Main(string[] args) {/* string uid; Console WriteLine( 请输入用户名 ); uid=Console ReadLine(); DataSet myDataSet = security check(uid);
foreach (DataRow thisDataRow in myDataSet Tables[ 学生表 ] Rows) {
Console WriteLine( 学号: + thisDataRow[ 学号 ]); Console WriteLine( 姓名: + thisDataRow[ 姓名 ]); Console WriteLine( 密码: + thisDataRow[ 密码 ]); } */
string uid; string pwd; Console WriteLine( 请输入用户名 ); uid = Console ReadLine(); Console WriteLine( 请输入密码 ); pwd = Console ReadLine(); if (security secuirty_check( uid pwd)) Console WriteLine( 登录成功 ); else Console WriteLine( 用户名或密码错误! ); Console Read(); } }
}
lishixin/Article/program/net/201311/12756
4. SQL 登录存储过程问题
问题大了,如果你想取出用户ID号,过程里面根本没有给@MemberID 赋值,你嫌羡所说的有返回不返回,只是里面SELECT 语句芹模拍的作用,根本没有意义,若要输出ID需改写成:
Create proc my_proc_UserLogin @UserName varchar(50),@UserPass varchar(50),@MemberID int output
as
begin
declare @ErrorNum int
set @ErrorNum=0
if exists(select * from tb_Member where Name=@UserName and Password=@UserPass)
begin
select @MemberID = MemberID from tb_Member where Name=@UserName and Password=@UserPass
end
else
begin
select @MemberID = 0
end
Return 0
end
这码正样执行
declare @id int
exec my_proc_UserLogin '1','1',@id output
select @id
才是得到的输出ID值
5. sql server 2000 登录的存储过程
create proc lg_info
@loginID bit,
@loginPWD bit
as
if loginID =LoginId
begin
IsOnline=True
end
else
begin
print '账号错渗让误'
end
if IsOnline= 'True'
begin
loginPWD =@LoginPwd
select Id,LoginId,LoginPwd,IsOnline from Admin
end
else
begin
print '错误,无法登陆'
end
go
表里若是只有一条信息这样就行了!
如果还有多条信息!就不行了!
如果还不行就在提示孝氏下原因!
还有就是楼上的内中方法一起验证密码账号!肯丛慎局定会出错的!
6. Linux isql登陆后怎么执行存储过程
作业里定时执行存储过程定时作业的制定
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中团尘输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句贺或改:
EXEC 存储过程名 ... --该存储过程用于创建表
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置禅判方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
7. SQL SERVER 如何应用存储过程呢操作方法有什么呢
SQL SERVER 如何应用存储过程呢?
首先最好在SQL SERVER的管理工具中通过create procere写一条语句来创建存储过程,创建语句后,点击工具栏中的执行命令,消息栏中显示命令已成功完成的消息,证明存储过程已创建。然后就可以在存储过程子文件夹下看到自己创建的存储过程了,执行存储过程,可以使用exec命令,后跟存储过程的名称,另外,还可以在创建存储过程的时候传入参数,如下图,需要使用@符号传入参数,如果你的存储过程加了参数,那么如果你调用的时候没有传入参数,SQL SERVER会提示错误。
3、存储过程减少网络流量对于数据库对象的相同操作,如果将此次操作所涉及的T-SQL语句组织成一个存储过程,在客户端调用该存储过程时,只在网络上传递调用语句,否则会是多条 SQL 语句。从而减轻了网络流量,降低了网络负载存储过程可以用作安全机制,系统管理员可以对要执行的存储过程的权限进行限制,从而限制对某些数据的访问,避免未经授权的用户访问数据,保证数据安全。
8. sql2005 存储过程在哪里写
1.进入 SQL Server Management Studio
2.登陆到你需要修改存储过程的数据库
3.按顺序点击你需要修改数据库,可编程性,存储过程
你可以在这里修改或新增存储过程
ps:另外你也可以直接使用语句在SQL Server Management Studio的sql编辑界面中使用语句建立新的存储过程
希望可以帮到你!