sql存储过程的使用和介绍
sql server存储过程语法 定义总是很抽象。存储过程其实就是能完成一定操作办法的一组SQL数据库语句,只不过这组数据库语句是放在网站数据库中的(这里咱们只谈SQL Server)。假如如果咱们通过创建存储过程以及在AS,复制具体相关代码 具体相关代码如下:,/*SP1*/ CREATE PROCEDURE dbo.getUserList as set nocount on begin select * from dbo.[userinfo] end go,复制具体相关代码 具体相关代码如下:,DIM MyComm,MyRst Set MyComm = Server.CreateObject("ADODB.Command") MyComm.ActiveConnection = MyConSt,1 表明CommandText是一般的开始执行命令类型 2 表明CommandText参数是一个存在的表名称 4 表明CommandText参数是一个存储过程的名称 还可以通过Connection对象或Rec,'**通过Connection对象调用存储过程**,复制具体相关代码 具体相关代码如下:,DIM MyConn,MyRst Set MyConn = Server.CreateObject("ADODB.Connection") MyConn.open MyConStr 'MyConStr,'**通过Recordset对象调用存储过程** DIM MyRst Set MyRst = Server.CreateObject("ADODB.Recordset") MyRst.open "ge,复制具体相关代码 具体相关代码如下:,/*SP2*/ CREATE PROCEDURE dbo.delUserAll as set nocount on begin delete from dbo.[userinfo] end go,'**通过Command对象调用存储过程**,复制具体相关代码 具体相关代码如下:,DIM MyComm Set MyComm = Server.CreateObject("ADODB.Command") MyComm.ActiveConnection = MyConStr 'MyC,Set MyComm = Nothing,3. 有返回值的存储过程 在进行类似SP2的操作办法时,应充分利用SQL Server强大的事务处理功能,以维护数据的一致性。并且,咱们可能需要存储过程返回执行情况,为此,将SP2修改如下:,复制具体相关代码 具体相关代码如下:,/*SP3*/ CREATE PROCEDURE dbo.delUserAll as set nocount on begin BEGIN TRANSACTION delete from dbo.[u,复制具体相关代码 具体相关代码如下:
1.创建网站数据库
启动开始执行命令行,通过输入如下开始执行命令打开Shell模式的CLP:
sqlite3 test.db
虽然咱们提供了网站数据库名称,但假如如果该网站数据库不存在,SQLite实际上就未创建该网站数据库,直到在网站数据库内部创建一些内容时,SQLite才创建该网站数据库。
2.创建数据表
sqlite> create table Member(id integer primary key, name text, age integer,addr text);
3.插入数据
sqlite> insert into Member values(0,'wwl',21,'上海');//id=0的列必须不存在,否则会出错
或者sqlite> insert into Member(name,age,addr) values('wwl',21,'上海');
3.查询数据
sqlite>.mode column
sqlite>.headers on
sqlite> select * from Member;
4.创建视图和索引
sqlite> create view schema as select * from Member;
sqlite> create index Member_Idx on Member(id)
5.导出数据
使用.dump开始执行命令可以将网站数据库对象导出成SQL格式。不带任何参数时,.dump将整个网站数据库导出为网站数据库定义语言(DDL)和网站数据库操作办法语言(DML)开始执行命令,适合重新创建网站数据库对象和其中的数据。假如如果提供了参数,Shell将参数解析作为表名或视图,导出任何匹配给定参数的表或视图,那些不匹配的将被忽略。
默认情况下.dump 开始执行命令的输出定向到屏幕。如:.dump
假如如果要将输出重定向到网站网站文件,请使用.dump[filename]开始执行命令,此开始执行命令将所有的输出重定向到指定的网站网站文件中。若要恢复到屏幕的输出,只需要执行.output stdout开始执行命令就OK了。
sqlite>.output file.sql
sqlite>.dump
sqlite>.output stdout
6.导入数据
有两种具体相关方法可以导入数据,用哪种具体相关方法取决于要导入的网站网站文件格式。假如如果网站网站文件由SQL数据库语句构成,可以使用.read开始执行命令导入网站网站文件中包含的开始执行命令。假如如果网站网站文件中包含由逗号或其他分隔符分割的值(comma-swparated values,CSV)组成,可使用.import[file][table]开始执行命令,此开始执行命令将解析指定的网站网站文件并尝试将数据插入到指定的表中。
.read开始执行命令用来导入.dump开始执行命令创建的网站网站文件。假如如果使用前面作为备份网站网站文件所导出的file.sql,需要先移除已经存在的网站数据库对象,然后用下面的具体相关方法重新导入:
sqlite>drop table Member;
sqlite>drop view schema;
sqlite>.read file.sql
7.备份网站数据库
有两种相关方式可以完成网站数据库的备份,具体使用哪一种取决于您希望的备份类型。SQL转储许是移植性最好的备份。
生成转储的标准相关方式是使用CLP.dump开始执行命令:sqlite3 test.db .dump >test.sql
在Shell中,可以将输出重定向到外部网站网站文件,执行开始执行命令,恢复到屏幕输出,如:
sqlite>.output file.sql
sqlite>.dump
sqlite>.output stdout
sqlite>.exit
同样,容易将SQL转储作为CLP的输入流实现网站数据库导入:
sqlite3 test.db <test.sql
备份二进制网站数据库知识比复制网站网站文件稍多做一点工作。备份之前需要清理网站数据库,这样可以释放一些已删除对象不再使用的空间。这网站数据库网站网站文件就会变小,因此二进制的副本也会较小:
sqlite3 test.db vacuum
cp test.db test.Backup
8.其它开始执行命令
sqlite>select last_insert_rowid(); //获得最后插入的自动增长量值
sqlite>.tabes //返回所有的表和视图
sqlite>.indices Member //查看一个表的索引
sqlite>.schema Member //得到一个表或视图的定义(DDL)数据库语句,假如如果没有提供表名,则返回所有网站数据库对象(table,view,index,triger)的定义数据库语句