- 浏览: 326676 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (184)
- js (39)
- j2ee (10)
- sql (11)
- j2se (12)
- jquery (10)
- struts (5)
- spring (5)
- hibernate (5)
- LIFE (3)
- css (2)
- 杂 (5)
- log4j (1)
- Spring事务 (1)
- IT相关 (2)
- MyEclipse (0)
- 面试相关 (5)
- j2se java基础 (7)
- sso (1)
- lucene (1)
- axis2 (1)
- nginx (4)
- cache (1)
- HTML (4)
- springmvc (1)
- linux (2)
- zookeeper (5)
- liunx (1)
- hadoop (2)
- redis (1)
- maven (1)
- git (1)
- idea (1)
- mysql (2)
最新评论
-
bozch:
[b][b][b][b][b][b][b][b][b][b][ ...
synchronized测试 -
jveqi:
public class Test {
public st ...
base64 图片显示 -
jveqi:
国外有个调研:人临死前最后悔的事情是什么?排在第一位的是:这一 ...
转:软件的未来 -
jveqi:
[img][/img][url][/url]
来去_ -
bozch:
2
来去_
SQLSERVER 存储过程 语法
*****************************************************
*** author:Susan
*** date:2005/08/05
*** expliation:如何寫存儲過程的格式及例子,有游標的用法!
*** 本版:SQL SERVER 版!
******************************************************/
在存儲過程中的格式規格:
CREATE PROCEDURE XXX
/*
列舉傳入參數
1:名稱,2:類型,包括長度
Eg:@strUNIT_CODE varCHAR(3)
*/
參數1,
參數2……………
As
/*
定義內部參數
1:名稱,2:類型,包括長度
Eg:@strUNIT_CODE varCHAR(3)
*/
Declare
參數1,
參數2……………
/*
初始化內部參數
Eg:SET @strUNIT_CODE=’’
*/
Set參數1的初始值
Set參數2的初始值…………
/*
過程的主內容區
Trascation:這裡起到的作用是,如果他中間的任何一個執行錯誤,就全部執行都返回,這裡sql sever 7.0以前一定要寫入,以後的就可以省略
Return:結束這支sp
*/
Begin trascation
/*
1:可以取得需要的值以存在內部參數中
Eg:SELECT @strUNIT_CODE=UNIT_CODE FROM UNIT WHERE …….
2:可以用取到的或傳入的參數進行判斷,來進行update,insert,delete 等等操作
eg: IF @strUNIT_CODE=’’
BEGIN
//具體的操作
End
Else
Begin
//具體的操作
End
3:有關游標的問題
Eg:
declare db cursor for //聲明一個游標(db為其名稱)
SELECT UNIT_NAME FROM UNIT WHERE LEFT(UNIT_CODE,2)=LEFT(@strTO,2)//記錄集
open db //打開游標
fetch next from db into @strUNIT_NAME //將第一個值放入一個參數中
while @@fetch_status = 0 ---存在本筆值向下循環
(0:順利執行;-1:失敗,或資料列超出結果集;-2:擷取的資料列已遺漏)
BEGIN ----開始循環
//個體操作
End ----結束循環
Close db ---關閉游標
deallocate db //移除資料指標參考
*/
Commit trascation
Return
下面是一個例子
CREATE PROCEDURE TEST_2
@strTO VARCHAR(3)
AS
DECLARE
@strUNIT_NAME VARCHAR(800),
@strSQL VARCHAR(8000),
@Link VARCHAR(1),
@Link1 VARCHAR(1)
SET @strUNIT_NAME=''
SET @strSQL=''
SET @Link=''
SET @Link1=''
/*
處理update 的部分
EXEC TEST_2 '011'
EXEC TEST_2 ''
SELECT UNIT_NAME FROM UNIT WHERE UNIT_CODE='011'
*/
BEGIN TRANSACTION
IF @strTO<>''
BEGIN
UPDATE UNIT SET UNIT_NAME=REPLACE(UNIT_NAME,'*','') WHERE UNIT_CODE=@strTO
END
ELSE
BEGIN
UPDATE UNIT SET UNIT_NAME=UNIT_NAME+'*' WHERE UNIT_CODE='011'
END
/*
EXEC TEST_2 '011'
功能說明:本sp用於處理cursor問題
*/
IF @strTO<>''
BEGIN
declare db cursor for --必需聲明在查詢的前面
SELECT UNIT_NAME FROM UNIT WHERE LEFT(UNIT_CODE,2)=LEFT(@strTO,2)---取到相關信息
END
ELSE
BEGIN
declare db cursor for --必需聲明在查詢的前面
SELECT UNIT_NAME FROM UNIT WHERE LEFT(UNIT_CODE,2)=LEFT('011',2)---取到相關信息
END
open db ---開起取到的信息
fetch next from db into @strUNIT_NAME ---把第一筆放入@strUNIT_NAME中
while @@fetch_status = 0 ---表示存在本筆資料
BEGIN ----開始循環
set @strSQL =@strSQL+@Link1+@Link+ @strUNIT_NAME ----設定保存的值
fetch next from db into @strUNIT_NAME ----進行下次循環
SET @Link=CHAR(13) +CHAR(10)
SET @Link1=','
END ----結束循環
close db ---關閉信息
deallocate db ---移除資料指標參考
SELECT @strSQL
COMMIT TRANSACTION
RETURN如果循环insert的例子
DECLARE @strLoginID VARCHAR(16)
BEGIN
declare db cursor for
SELECT LoginID FROM dbo.s_Users WHERE len(UnitCoding) in(9,12)
END
open db
fetch next from db into @strLoginID
while @@fetch_status = 0 BEGIN
insert into s_P_User
select @strLoginID,LevelID from s_P_User where LoginID = 'aa'
fetch next from db into @strLoginID
END
close db
deallocate db一、TRUNCATE
二、Select INTO 建表
把一个表中的数据复制到另外一个表中。
三、Insert INTO Select
四、补充:临时表
临时表存储在系统数据库tempdb中
临时表会被系统隐式地丢弃
---------------------------------------------------------
五、存储过程(**)
一、简介:
存储过程(Stored Procedure), 是一组为了完成特定功能的SQL 语句,集经编译后
存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行
它,
在SQL Server 的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程
。
系统SP,主要存储master 数据库中,并以sp_为前缀并且系统存储过程主要是从系统表中获取
信息,从而为系统管理员管理SQL Server。 用户自定义存储过程是由用户创建,并能完成
某一特定功能,如:查询用户所需数据信息的存储过程。
存储过程具有以下优点
1.存储过程允许标准组件式编程(模块化设计)
存储过程在被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句,而
且数
据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响。因为应用程序源代
码只包含存
储过程的调用语句,从而极大地提高了程序的可移植性。
2.存储过程能够实现快速的执行速度
如果某一操作包含大量的Transaction-SQL 代码,,或分别被多次执行,那么存储过程要比批处理
的
执行速度快很多,因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进
行分析优
化,并给出最终被存在系统表中的执行计划,而批处理的Transaction-SQL 语句在每次运行时
都要进行
编译和优化,因此速度相对要慢一些。
3.存储过程能够减少网络流量
对于同一个针对数据数据库对象的操作,如查询修改,如果这一操作所涉及到的Transaction-SQL
语句被组织成一存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调
用语句,否
则将是多条SQL 语句从而大大增加了网络流量降低网络负载。
4.存储过程可被作为一种安全机制来充分利用
系统管理员通过,对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限的
限
制。
二、变量
@I
三、流程控制语句(if else | select case | while )
Select ... CASE 实例
DECLARE @iRet INT, @PKDisp VARCHAR(20)
SET @iRet = '1'
Select @iRet =
CASE
WHEN @PKDisp = '一' THEN 1
WHEN @PKDisp = '二' THEN 2
WHEN @PKDisp = '三' THEN 3
WHEN @PKDisp = '四' THEN 4
WHEN @PKDisp = '五' THEN 5
ELSE 100
END
四、存储过程格式
创建存储过程
Create Proc dbo.存储过程名
存储过程参数
AS
执行语句
RETURN
执行存储过程
GO
*********************************************************/
-- 变量的声明,sql里面声明变量时必须在变量前加@符号
DECLARE @I INT
-- 变量的赋值,变量赋值时变量前必须加set
SET @I = 30
-- 声明多个变量
DECLARE @s varchar(10),@a INT
-- Sql 里if语句
IF 条件 BEGIN
执行语句
END
ELSE BEGIN
执行语句
END
DECLARE @d INT
set @d = 1
IF @d = 1 BEGIN
-- 打印
PRINT '正确'
END
ELSE BEGIN
PRINT '错误'
END
-- Sql 里的多条件选择语句.
DECLARE @iRet INT, @PKDisp VARCHAR(20)
SET @iRet = 1
Select @iRet =
CASE
WHEN @PKDisp = '一' THEN 1
WHEN @PKDisp = '二' THEN 2
WHEN @PKDisp = '三' THEN 3
WHEN @PKDisp = '四' THEN 4
WHEN @PKDisp = '五' THEN 5
ELSE 100
END
-- 循环语句
WHILE 条件 BEGIN
执行语句
END
DECLARE @i INT
SET @i = 1
WHILE @i<1000000 BEGIN
set @i=@i+1
END
-- 打印
PRINT @i
-- TRUNCATE 删除表中的所有行,而不记录单个行删除操作,不能带条件
/*
TRUNCATE TABLE 在功能上与不带 Where 子句的 Delete 语句相同:二者均删除表中的全部行
。但 TRUNCATE TABLE 比 Delete 速度快,且使用的系统和事务日志资源少。
Delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过
释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用
的计数值重置为该列的种子。如果想保留标识计数值,请改用 Delete。如果要删除表定义及其数据,请
使用 Drop TABLE 语句。
对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 Where 子句的
Delete 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。
TRUNCATE TABLE 不能用于参与了索引视图的表。
示例
下例删除 authors 表中的所有数据。*/
TRUNCATE TABLE authors
-- Select INTO 从一个查询的计算结果中创建一个新表。 数据并不返回给客户端,这一点和普通的
-- Select 不同。 新表的字段具有和 Select 的输出字段相关联(相同)的名字和数据类型。
select * into NewTable
from Uname
-- Insert INTO Select
-- 表ABC必须存在
-- 把表Uname里面的字段Username复制到表ABC
Insert INTO ABC Select Username FROM Uname
-- 创建临时表
Create TABLE #temp(
UID int identity(1, 1) PRIMARY KEY,
UserName varchar(16),
Pwd varchar(50),
Age smallint,
Sex varchar(6)
)
-- 打开临时表
Select * from #temp
-- 存储过程
-- 要创建存储过程的数据库
Use Test
-- 判断要创建的存储过程名是否存在
if Exists(Select name From sysobjects Where name='csp_AddInfo' And
type='P')
-- 删除存储过程
Drop Procedure dbo.csp_AddInfo
Go
-- 创建存储过程
Create Proc dbo.csp_AddInfo
-- 存储过程参数
@UserName varchar(16),
@Pwd varchar(50),
@Age smallint,
@Sex varchar(6)
AS
-- 存储过程语句体
insert into Uname (UserName,Pwd,Age,Sex)
values (@UserName,@Pwd,@Age,@Sex)
RETURN
-- 执行
GO
-- 执行存储过程
EXEC csp_AddInfo 'Junn.A','123456',20,'男'
本文来自CSDN博客,转载请标明出处:http://www.cnblogs.com/blsong/archive/2009/11/27/1612052.html
发表评论
-
MySQL复制介绍及搭建
2016-07-29 09:52 478http://blog.jobbole.com/100081/ ... -
关联dim_date表,使日期连续
2016-05-13 18:42 970MYSQL: 1、报表需要展示连续每天的数据,但业务数据 ... -
mysql group_concat
2014-11-21 15:17 5801、select group_concat(user ... -
MSSQL存储过程及游标、作业
2014-08-26 16:08 8361、存储过程 --==== 月存储过程 ===== ... -
oracle 删除某用户表
2014-05-07 22:40 6411、 select 'Drop table ' ... -
PL/SQL 创建用户
2013-11-07 10:14 7081、以SYSDBA身份登录PL; 2、右键“User”- ... -
ORACLE nvarchar2和varchar2的区别
2012-11-05 10:06 11571、NVARCHAR2中存储中文字时,一个中文 ... -
sql server distinct 过滤两个字段重复怎么写?
2012-10-30 22:21 11862sql server distinct 过滤两个字段重复怎么写 ... -
TRUNCATE和DELETE有以下几点区别
2012-10-30 16:26 6551、TRUNCATE在各种表上无论是大的还是小的都非常快。如果 ... -
程序员老鸟写sql(zhuan)
2012-10-12 14:11 798闲话少说,总结一点程序员老鸟写sql顺手拈来的功夫吧: ...
相关推荐
基于改进粒子群算法的DG储能选址定容优化模型:解决电力系统时序性问题的可靠程序解决方案,基于改进粒子群算法的DG储能选址定容模型优化解决电力系统问题,DG储能选址定容模型matlab 程序采用改进粒子群算法,考虑时序性得到分布式和储能的选址定容模型,程序运行可靠 这段程序是一个改进的粒子群算法,主要用于解决电力系统中的优化问题。下面我将对程序进行详细分析。 首先,程序开始时加载了一些数据文件,包括gfjl、fljl、fhjl1、cjgs和fhbl。这些文件可能包含了电力系统的各种参数和数据。 接下来是一些参数的设置,包括三种蓄电池的参数矩阵、迭代次数、种群大小、速度更新参数、惯性权重、储能动作策略和限制条件等。 然后,程序进行了一些初始化操作,包括初始化种群、速度和适应度等。 接下来是主要的迭代过程。程序使用粒子群算法的思想,通过更新粒子的位置和速度来寻找最优解。在每次迭代中,程序计算了每个粒子的适应度,并更新个体最佳位置和全局最佳位置。 在每次迭代中,程序还进行了一些额外的计算,如潮流计算、储能约束等。这些计算可能涉及到电力系统的潮流计算、功率平衡等知识点。 最后,程序输
数学建模相关主题资源2
内容概要:本文详细介绍了一系列用于科学研究、工程项目和技术开发中至关重要的实验程序编写与文档报告撰写的资源和工具。从代码托管平台(GitHub/GitLab/Kaggle/CodeOcean)到云端计算环境(Colab),以及多种类型的编辑器(LaTeX/Microsoft Word/Overleaf/Typora),还有涵盖整个研究周期的各种辅助工具:如可视化工具(Tableau)、数据分析平台(R/Pandas)、项目管理工具(Trello/Jira)、数据管理和伦理审核支持(Figshare/IRB等),最后提供了典型报告的具体结构指导及其范本实例链接(arXiv/PubMed)。这为实验流程中的各个环节提供了系统的解决方案,极大地提高了工作的效率。 适合人群:高校学生、科研工作者、工程技术人员以及从事学术写作的人员,无论是新手入门还是有一定经验的人士都能从中受益。 使用场景及目标:帮助读者高效地准备并开展实验研究活动;促进团队间协作交流;规范研究报告的形式;提高对所收集资料的安全性和隐私保护意识;确保遵循国际公认的伦理准则进行实验。
四轮毂驱动电动汽车稳定性控制策略:基于滑模与模糊神经网络的转矩分配与仿真研究,四轮毂驱动电动汽车稳定性控制:基于滑模与模糊神经网络的转矩分配策略及联合仿真验证,四轮毂驱动电动汽车稳定性控制,分布式驱动转矩分配。 上层基于滑模,模糊神经网络控制器决策横摆力矩,下层基于动态载荷分配,最优分配,平均分配均可做。 simulink与carsim联合仿真。 ,四轮毂驱动;电动汽车稳定性控制;分布式驱动;转矩分配;滑模控制;模糊神经网络控制器;横摆力矩;动态载荷分配;最优分配;平均分配;Simulink仿真;Carsim仿真,四驱电动稳定性控制:滑模与模糊神经网络决策的转矩分配研究
本资源提供了一份详细的PyCharm安装教程,涵盖下载、安装、配置、激活及使用步骤,适合新手快速搭建Python开发环境。
毕业设计
原版宋体.ttf,原版宋体安装文件,安装方式,直接右键安装。
利用Xilinx FPGA内嵌的软核处理器MicroBlaze,加上自主编写的AXI_IIC控制器,实现对IMX327传感器IIC总线的控制,同时辅以UART调试串口,实现系统状态的实时监控与调试。
在 GEE(Google Earth Engine)中,XEE 包是一个用于处理和分析地理空间数据的工具。以下是对 GEE 中 XEE 包的具体介绍: 主要特性 地理数据处理:提供强大的函数和工具,用于处理遥感影像和其他地理空间数据。 高效计算:利用云计算能力,支持大规模数据集的快速处理。 可视化:内置可视化工具,方便用户查看和分析数据。 集成性:可以与其他 GEE API 和工具无缝集成,支持多种数据源。 适用场景 环境监测:用于监测森林砍伐、城市扩展、水体变化等环境问题。 农业分析:分析作物生长、土地利用变化等农业相关数据。 气候研究:研究气候变化对生态系统和人类活动的影响。
毕业设计
整个文件的代码
名字微控制器_STM32_DFU_引导加载程序_dapboo_1740989527.zip
详细介绍及样例数据:https://blog.csdn.net/T0620514/article/details/145991332
anaconda配置pytorch环境
立体仓库控制组态王6.55与三菱PLC联机仿真程序:视频教程与IO表接线图CAD详解,9仓位立体仓库控制系统优化方案:组态王6.55与三菱PLC联机仿真程序视频教程及IO表接线图CAD详解,9仓位立体仓库控制组态王6.55和三菱PLC联机仿真程序+视频+带io表接线图CAD ,关键词:立体仓库;控制组态王6.55;三菱PLC;联机仿真程序;视频;io表接线图;CAD,立体仓库控制组态王与三菱PLC联机仿真程序资源包
基于Maxwwell设计的经典外转子永磁同步电机案例:直流母线24V,大功率与高效率驱动设计,基于Maxwell设计的经典永磁同步电机案例:200W功率,外转子结构,直流母线电压与电机参数详解,基于maxwwell设计的经典200W,2200RPM 外转子,直流母线24V,42极36槽,定子外径81.5 轴向长度15 ,0.86Nm, 永磁同步电机(PMSM)设计案例,该案例可用于生产,或者学习用 ,经典设计案例; 200W; 2200RPM外转子; 直流母线24V; 42极36槽; 定子外径81.5; 轴向长度15; 永磁同步电机(PMSM); 生产学习用。,经典200W永磁同步电机设计案例:Maxwell外转子,高效率2200RPM直流母线系统
C# Modbus RTU协议主站设计工程源码详解:支持多从站访问与多线程实现,带注释开源dll文件,C# Modbus RTU协议主站设计工程源码解析:多线程实现访问多个从站功能的开源dll文件,C# Modbus RTU协议主站设计工程源码带注释,开源dll文件,支持访问多个从站,多线程实现 ,C#; Modbus RTU协议; 主站设计; 工程源码; 注释; 开源dll; 多从站访问; 多线程实现,《C# Modbus RTU主站源码:多线程支持访问多从站开源DLL文件详解》
MATLAB Simulink下的四旋翼无人机PID控制仿真模型研究,MATLAB Simulink下的四旋翼无人机PID控制仿真模型研究,MATLAB Simulink 四旋翼仿真模型 四轴无人机PID控制 ,MATLAB; Simulink; 四旋翼仿真模型; 四轴无人机; PID控制,MATLAB Simulink四旋翼仿真模型中四轴无人机的PID控制研究
复现文献中COMSOL模拟天然气水合物两相渗流的研究,COMSOL模拟天然气水合物两相渗流:文献复现与分析,comsol天然气水合物两相渗流,文献复现 ,comsol; 天然气水合物; 两相渗流; 文献复现,复现文献:comsol模拟天然气水合物两相渗流研究