SQL循环游标的使用
今天搞的,帮同事查询数据,先写个触发器,截取http://www.chinaroyalgroup.cn/aspnet_client/system_web/2_0_50727/dispbbs.asp?boardid=1&id=836里的域名
IF EXISTS (SELECT name from sysobjects
WHERE name = 'gs_MySub' AND type = 'P')
DROP PROCEDURE gs_MySub
GO
create proc gs_MySub
@www varchar(100),
@result varchar(100) output,
@end int = 0
as
set @www = REPLACE(@www, 'http://', '') --替换掉http://
set @end = PATINDEX('%/%', @www) --得到第一次出现'/'的位置
set @result = SUBSTRING(@www, 0, @end) --截取
GO
SQL查询分析器里:
declare cur_domain1 cursor
for
select domain from test1
open cur_domain1
declare @result varchar(100)
declare @domain varchar(100)
Fetch next from cur_domain1
while (@@fetch_status<>-1)
begin fetch next from cur_domain1
INTO:@domain
exec gs_MySub @domain, @result output
print @result
end
close cur_domain1
相关文档:
我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):
Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择 ......
近期因工作需要,希望比较全面的总结下
SQL SERVER
数据库性能优化相关的注意事项,在网上搜索了一下
,
发现很多文章
,
有的都列出了上百条
,
但是仔细看发现,有很多似是而非或者过时
(
可能对
SQL SERVER6.5
以前的版本或者
ORACLE
是适用的
)
的信息,只好自己根据以前的经验和测试结果进行总结了。
我 ......
虽然说我们尽量在写程序的时候控制插入到数据库的数据,而不要用数据库去判断数据的对错,但是有时候为了方便还是需要数据库自身的容错能力来帮助我们达到目的的。举例说明:
创建如下数据表
CREATE TABLE `book` (
`id` int(11) default NULL,
`num` int(11) unsigned default NULL
) ENGINE=InnoDB DE ......
--1、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值,显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。
select emp_no,emp_name,dept,isnull(convert(char(10),birthday,120),'日期不详') birthday
from employee
order by dept
--2、查找与喻自强在同一个单位的员工姓名、性别、部门和职称
select ......
所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:
⑴ 某个ASP.NET Web应用有一个 ......