1. 存储过程怎么写
比如
if exists (select name from sysobjects where name = 'proc_ManagerLogin')
begin
drop procedure proc_ManagerLogin
end
go
create procedure proc_ManagerLogin
@return bit output ,@username varchar(59),@password varchar(32)
as
begin
if exists(select * from systemManager where adminName=@username and adminpass=@password)
begin
set @return=1
--在系统日志中记录
exec proc_SystemLog_add '管理员登陆','进入了后台'
end
else
begin
set @return=0
end
end
go
2. 存储过程怎么写
CREATE PROCEDURE [拥有者.]存储过程名[;程序编号]
[(参数#1,…参数#1024)]
[WITH
{RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
]
[FOR REPLICATION]
Create procedure procedue_name
[@parameter data_type][output]
[with]{recompile|encryption}
as
sql_statement
例子:create proc query_book
as
select * from book
go
exec query_book
3. 存储过程怎么写啊
select 存储过程
CREATE PROCEDURE Sp_dream_Select (@ID Bigint ) AS
SELECT name,password
FROM dream WHERE ID = @ID
GO
insert存储过程
CREATE PROCEDURE Sp_dream_Edit
(
@ID bigint output , --成功后返回单据ID
@name varchar (14),
@password varchar(60),
)
AS
BEGIN
INSERT INTO dream(id,name,password )
VALUES (@id,@name,@password );
END
RETURN
GO
update存储过程
CREATE PROCEDURE Sp_dream_Edit
(
@ID bigint output , --成功后返回单据ID
@name varchar(14),
@password varbinary(256)
)
AS
BEGIN
UPDATE dream
SET
name = @name,
password = @password ,
WHERE id = @id;
END
RETURN
GO
4. 这个句子的存储过程怎么写
存储过程的语法如下:
create proc 过程名
begin
过程主体
end
GO
过程主体可以是你写的查询语句或将查询结果写入某个表,语法与一般SQL同,至于你想加入变量,可以用类似下面的语句定义与赋值:
declare @startdate datetime,
@enddate datetime
select @enddate='2008-1-1',@startdate='2007-1-1'
这样就可以用你写的语句调用了,不过不需要分号与加号
5. 怎么写存储过程
一、整体格式。存储过程的格式如下:
CREATE PROCEDURE [creator.]"proc_name" ( /* parameters,。 */ )
/* RESULT ( column-name,。 ) */
BEGIN
;
END
其中creator是用户名,比如dba;proc_name是你自己起的过程名;后面的参数可有可无,视自己情况定,如果有格式如(a integer,b char(50));再下面的RESULT应该是返回值,这个没用过不知道怎么回事!
二、内容。把这些都写好了可能是这样:
CREATE PROCEDURE dba.myProcedure ( @a integer,@b char(50))
BEGIN
;
END
但是这样子还是不能编译的,因为整个过程体是空的,而我学习的结果是过程中至少要有一个SQL语句。所以要这样写才不会出错:
CREATE PROCEDURE dba.myProcedure ( a integer,b char(50))
BEGIN
SELECT * FROM MyTable
END
三、语法。
1、分号。在写的过程中最郁闷的问题是分号!最后发现好像是这样:
每一句都要加分号,不管是SQl语句还是其它的什么语句,但是最后保存后最后一句的分号会被自动删除!(我用的是Sybase的Sybase Central)。
2、定义变量。
格式为Declare @varName integer;(注意有分号!)“@”号好像可有可无!
3、SELECT语句。
格式为:
SELECT Count(*) INTO @varName FROM MyTable WHERE id = @a;
4、if语句。
格式为:
if(varName > 0) then
return
end if;(注意还有分号!)
5、循环语句。
格式为:
loop
……
end loop;(注意分号!)
6、设置变量值。
格式为:
set @varName = 10;
set @varName = @varName2;
7、字符串。
Declare myString char(50);
set @myString = 'Hello!';
要用单引号!
8、定义游标。
格式为:
declare MyCursor dynamic scroll cursor for
select …… from …… where ……;
9、打开、使用和关闭游标。
Open MyCursor;
fetch next MyCursor into ……;
Close MyCursor;
10、调用方法。
string ls_name="test"
DECLARE ProcName1 PROCEDURE FOR ProcName2
@wg_wellid=2,@wg_wgid=1,@wg_stringsid=1,@bha_wellid=2,@bha_name=:ls_name;
execute ProcName1 ;
close ProcName1 ;
其中ProcName1 是调用程序中自定义的过程名,ProcName2是数据库中存储过程的名字,下面的传入的参数。
6. 求个存储过程的写法
student表的具体表结构没说清楚,没法写啊。
数据库也不清楚用的什么,不同数据库可能语句不一样。
不用存储过程,2条语句就可以了。
以SQL SERVER 2005 为例,给你个参考,假设你student表中记录日期信息的字段名为DateColumn,
如下:
insert into student2
select * from student where getdate() > dateadd(day,31,DateColumn)
delete from student where getdate() > dateadd(day,31,DateColumn)
7. SQL Server的存储过程怎么写
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 procedure getAllBooks as begin select * from books_test; 调用,执行存储过程 exec getAllBooks; end go 修改存储过程 alter procedure 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 procedure 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 procedure 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 扩展资料:SQL Server中查询存储命令子句:USE [SSQADM] Use 是跳转到哪个数据库,对这个数据库进行操作。
GO GO向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号,相当于提交上面的SQL语句。GO是把t-sql语句分批次执行 (一步成功了才会执行下一步,即一步一个GO)/****** Object: StoredProcedure [dbo].[PROC_four_five_hr] Script Date: 07/30/2018 13:44:55 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ON。
8. 数据库的存储过程怎么写
1,调用没有参数的存储过程<% set conn=server.CreateObject("adodb.connection") set cmd=server.CreateObject("adodb.command") strconn="dsn=pubs;uid=sa;pwd" conn.Open strconn set cmd.ActiveConnection=conn cmd.CommandText="{call nono}"'set rs=cmc.exe 或者cmd.execute set rs=cmd.Execute()%>2,一个输入的参数的存储过程<% set conn=server.CreateObject("adodb.connection") set cmd=server.CreateObject("adodb.command") strconn="dsn=pubs;uid=sa;pwd" conn.Open strconn set cmd.ActiveConnection=conn cmd.CommandText="{call oneinput(?)}" cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger ,adParamInput ) cmd("@aaa")=100 cmd.Execute()%>3,一个输入参数和一个输出的参数<% set conn=server.CreateObject("adodb.connection") set cmd=server.CreateObject("adodb.command") strconn="dsn=pubs;uid=sa;pwd" conn.Open strconn set cmd.ActiveConnection=conn cmd.CommandText = "{call oneinout(?,?)}" cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput) cmd("@aaa")=10 cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput) cmd.Execute() bbb=cmd("@bbb")%>4,一个输入参数,一个输出参数,和一个返回值e79fa5e98193e59b9ee7ad9431333332643864<% set conn=server.CreateObject("adodb.connection") set cmd=server.CreateObject("adodb.command") strconn="dsn=pubs;uid=sa;pwd" conn.Open strconn set cmd.ActiveConnection=conn cmd.CommandText="{?=call onereturn(?,?)}" cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnValue ) cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput ) cmd("@aaa")=10 cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput) cmd.Execute() bbb=cmd("@bbb") rrr=cmd("@return_value")%>。
9. 如何写存储过程
CREATE PROCEDURE au_info_all
-- 创建存储过程
AS
-- 指定过程要执行的操作。
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
GO
-- 操作过程