database
夏令
test
展开
-
SQLServer2008 将本地excel导入到远程服务器表
--1.创建链接服务器,相当于创建一个访问远程数据库的快捷方式exec sp_addlinkedserver 'TestLink', ' ', 'SQLOLEDB ', '111.11.1.111';exec sp_addlinkedsrvlogin 'TestLink', 'false',null,'sa','123456' ;--2.测试访问远程服务器的表selec...原创 2014-10-24 16:04:36 · 141 阅读 · 0 评论 -
[转]ORACLE EXECUTE IMMEDIATE 小结
转自:http://www.cnblogs.com/huanghai223/archive/2011/06/29/2093660.html EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企...原创 2013-03-04 10:48:44 · 59 阅读 · 0 评论 -
Oracle 动态sql小例子
错误写法:create or replace procedure testproce20130228issqlstr varchar2(8000);date1 varchar2(10);beginselect sysdate into date1 from dual;sqlstr:= 'insert into testtbl values(''test2222'','''||(select...原创 2013-03-04 10:41:39 · 66 阅读 · 0 评论 -
SQLServer In和Exists
In Exists ()1分42秒 5秒 Exists() 返回布尔值如果子查询结果行>0,则返回 TRUE。反之返回FALSE exists(select * from tbl)等同于( select count(*) from tbl )>0 ...原创 2012-02-23 14:38:47 · 141 阅读 · 0 评论 -
[转]SQLServe 存储表结构的几个系统表
1. 获取表的基本字段属性 获取SqlServer中表结构 SELECT syscolumns.name,systypes.name,syscolumns.isnullable, syscolumns.length FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype AND syscol...原创 2011-12-08 10:02:42 · 95 阅读 · 0 评论 -
问题消灭机
一.distinct 的详细用法?是否只对第一个字段起作用?-->distinct用于select 后,需要查询的字段左,用于过滤重复记录,影响查询结果的并不只是最靠近它的那个字段,而是select后的所有字段 例如有这么一个表#temptype name0 a0 a1 c0 d 如果查询 select ...原创 2011-12-06 14:25:32 · 98 阅读 · 0 评论 -
SQLServer2008 表与表之间的数据导入
----------原创 2012-06-11 15:30:14 · 90 阅读 · 0 评论 -
SQlserver 当输入参数为可选条件
以前很懒,都是用拼接字符串的方式,加上if 语句,根据输入参数是否为空来判断是否需要在where 后加上对应字段的条件限制但是拼接字符串很烦,又总是被转义符搞得很烦 ''''所以想了其他办法分三种情况(varchar,int,date)都尝试了一下使用case when 和通配符当主角,而不是'''''''''不难理解,怕隔天忘记所以记一笔alter proc sp_te...2011-11-23 21:34:15 · 471 阅读 · 0 评论 -
SQLServer 解决跨数据库查询的问题
可以使用sqlserver自带的导出数据功能右键-“任务”--“导出数据”--使用sqlserver身份验证,并选择数据库--下一步--填写目标服务器名称--使用sqlserver身份验证--刷新--选择目标数据库--下一步--勾选要复制过去的那个表,避免表名重复,在右边那栏改下表的名称--下一步,完成 这样,目标服务器里的指定数据库就多了刚刚指定的那个表就可以在同一个数据库里进行...原创 2011-11-07 14:48:37 · 221 阅读 · 0 评论 -
SQLServer2008 去除换行符
declare @str varchar(8000)set @str='SQL语句'select replace(@str,char(10),'')原创 2011-12-28 09:13:48 · 472 阅读 · 0 评论 -
SQLServer修改表字段时进行表连接
update A set A.XXX='XXXX'from TableA Ainner join TableB B on B.XX=A.XXwhere XXXXX2011-04-02 15:09:06 · 134 阅读 · 0 评论 -
SQLServer2008 将“单个用户”改为“多用户”
一开始是要想要分离掉数据库,然后将其删除不知道为什么一直分离不了,试了很多次,又尝试直接删除结果数据库突然显示成了“单个用户”尝试查看其属性,或者“新建查询”也都报错,提示已经有其他用户建立了连接什么的通过百度找到了一段可以kill掉该数据库进程的sp,执行也仍然报错于是,用了最直接的办法将服务器重启了然后执行该语句:ALTER DATABASE [数据库名] SET ...原创 2011-10-26 10:58:50 · 1070 阅读 · 0 评论 -
SQLServer2008 表连接时null 和 null 无法匹配?
例如select * from tbl_a aleft join tbl_b b on b.docno=a.docno and b.project=a.projectwhere a.docno='xxx' 发现a的project列和b的project列都为 null于是匹配不到值最后改为:select * from tbl_a aleft join tbl_b...原创 2012-07-13 11:10:06 · 332 阅读 · 0 评论 -
SQLServer2008 关于while循环
有这样一个表tblid code name11 a aa/bb/cc22 b ee/rr/tt 需要将name段根据‘/’拆分开来,变成新的数据行即:id code name11 a aa11 a bb......以下省略..... 先给该表加上序号,存入临时表select...原创 2012-07-19 11:21:39 · 251 阅读 · 0 评论 -
Oracle 数据导入导出(imp/exp)
环境:windows下,oracle11g 1.启动oracle服务net start OracleDBConsoleorclnet start OracleOraDb11g_home1TNSListenernet start OracleServiceORCL 2.导出数据exp testuser/123456@pro24 tables=(testuser.tabl...原创 2015-11-18 13:38:05 · 79 阅读 · 0 评论 -
Oracle 物化视图
********此处应该有一段物化视图的介绍,以后再贴吧,先记录下语法********* create materialized view MV_TESTrefresh complete --全量更新(也可以设置为增量更新)on demand --根据需要刷新,对应下面的定时器。还有一种是on commit 源表有更改时即刷新start with sysdate ne...原创 2015-11-17 15:20:33 · 66 阅读 · 0 评论 -
Oracle update时做表关联
感觉还是sqlserver中的写法比较好理解,Oracle的写法都快把我搞晕了, 注意: 1.要修改的表,不要加入到子查询中,用别名在子查询中与其他表进行关联即可。 2.exsits不能少,exsits后面的子查询与上一个子查询里的内容相同即可。 update table1 t1 set t1.name=( select t2.name from...原创 2015-09-01 11:36:12 · 325 阅读 · 0 评论 -
Oracle 中文排序
按照拼音顺序(常用) ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_PINYIN_M') 按照部首顺序 ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_RADICAL_M') 按照笔画顺序 ORDER BY nlssort(NAME, 'NLS_SORT=SCHINESE_STROKE_...原创 2015-08-31 11:00:02 · 66 阅读 · 0 评论 -
Java 判断字符串的存储长度
判断前台输入项的长度应该都会碰到String.length() 判断出来没有超出最大长度,存到数据库就超出长度的问题,oracle字符集是gbk的不太清楚,如果是UTF-8,中文是占三个字符的,所以要对中文进行特别判断。代码如下: public static int lengthOfUTF8(String value) { int valueLength...原创 2015-08-17 09:59:17 · 2043 阅读 · 0 评论 -
Oracle 关于oracle自带的行转列函数
前言:环境是java+hibernate+oracle11g目标是将某表中根据id分组后将name字段的值拼接到一列中,且用“,“进行分割 试过用 wm_concat() 结合 group by , 在pl/sql中执行正常,但是在java程序运行时会报: ORA-22922:不存在的 LOB 值 1.没用hql查询,用的纯sql2.也将字段转换为varcha...2015-07-25 18:17:03 · 214 阅读 · 0 评论 -
Oracle 当输入参数允许为空时
场景:有一个存储过程p_test 带有多个输入参数code、name、numberp_test(code IN VARCHAR2,nameIN VARCHAR2,number IN VARCHAR2,resultList OUT sys_refcursor)但是业务上要求这三个参数都允许为空,也就是都不是必填项 原本sql语句是写成这样的:select * from t...2014-04-16 11:23:06 · 485 阅读 · 0 评论 -
Oracle 生成数据字典
SELECT ROWNUM 序号,A.COLUMN_NAME AS "字段名称",B.comments AS "字段描述",A.DATA_TYPE as 字段类型,REPLACE(DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_PRECISION||','||A.DATA_SCALE),A.CHAR...原创 2014-08-04 16:36:52 · 279 阅读 · 0 评论 -
Oracle 循环调用存储过程
create or replace procedure p_test_loopas--定义一个游标,并将查询结果集赋值给它CURSOR c1 IS select * from tbltest where dept='test'; begin--循环获取游标里的某个字段的值for cardinfo in c1 loop p_testproc(cardi...原创 2014-02-19 11:25:21 · 1198 阅读 · 0 评论 -
[转]Oracle 存储过程语法
转自:http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个S...原创 2013-03-01 15:43:39 · 60 阅读 · 0 评论 -
SQLServer2008 使用sql语句访问excel数据
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES...原创 2013-04-15 17:38:34 · 129 阅读 · 0 评论 -
SQLServer2008 使用BCP导入导出表数据
--先开启cmdshellEXEC sp_configure 'show advanced options', 1GORECONFIGUREGOEXEC sp_configure 'xp_cmdshell', 1GORECONFIGUREGO /**导出指定表的文本文件 */EXEC master..xp_cmdshell 'bcp dbname..ta...原创 2011-08-04 09:37:31 · 213 阅读 · 0 评论 -
SQLServer Where GroupBy Having
HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中出现的任意项。 所以Where、Group by、Having...原创 2011-08-03 09:00:09 · 336 阅读 · 0 评论 -
SQLServer 在存储过程里使用事务控制的简单小例子
alter proc sp_test( @name varchar(50))asbegin --开始事务 begin transaction --设置一个存储报错代码的变量 DECLARE @errorSum INT SET @errorSum=0 --在每一条涉及到数据变动的语句后都累加一次报错代码 insert into benInfo val...原创 2011-08-17 11:00:25 · 202 阅读 · 0 评论 -
SQLServer 表连接时使用top 1 去除重复数据
left join SM_SOLine soline on soline.SO=so.ID and soline.DocLineNo=(select MAX(DocLineNo) from SM_SOLine where so=so.ID) create table #test8( id int, name varchar(50))drop table #test9cr...原创 2011-05-21 15:52:42 · 551 阅读 · 0 评论 -
SQLServer inner join,left join,right join,outer join 备忘备忘
LEFT JOIN LEFT JOIN 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行。 即LEFT JOIN 的 ON 条件不会对数据行造成影响RIGHT JOIN RIGHT JOIN 关键字会从右表那里返回所有的行,即使在左表中没有匹配的行。 INNER JOIN INNER JOIN 关键字会从右表那里返回所有的行,即使在左表中没有匹配的行。INNER JOI...原创 2011-05-18 20:13:19 · 79 阅读 · 0 评论 -
SQLServer Union 和 Union All 在Insert 语句中的不同效果
如果不是发了那个帖子还不会像这样意外发现这两者的不同,好歹了也工作了一段时间,真是汗颜 上例子: 执行此条插入语句后,只会插入两条数据,因为会把完全重复的数据过滤掉insert into testselect 1,'a' union select 2,'b' unionselect 1,'a' 如果有完全相同的数据要插入,则用union allinsert int...原创 2011-05-18 19:34:25 · 326 阅读 · 0 评论 -
SQLServer 行转列,统计,二次分组
create table test ( bizdate datetime, --日期 classes varchar(50), --班次 '白班' 或 '夜班' qty int --产量 ) insert into test select '2011-04-01','白班',154 union select '2011-04-01','白班',400 union select '20...原创 2011-05-17 16:45:30 · 622 阅读 · 0 评论 -
SQLServer 添加序号列
select ROW_NUMBER()OVER(ORDER BY 用来排序的列的列名),XXX,XXX from XXX 按照原始顺序:ROW_NUMBER()OVER(ORDER BY (select 0))原创 2011-05-17 11:15:32 · 495 阅读 · 0 评论 -
SQLServer int转float
例: select 2/4 会得到0 改为 select 2/4.0 则会得到0.500000也同时达到了int转float的效果原创 2011-05-17 11:14:12 · 588 阅读 · 0 评论 -
SQLServer查询筛选后的结果集
[code="java"]select ROW_NUMBER()OVER(ORDER BY D.BusinessDate) AS '序号','接单日期'=D.BusinessDate,'合同号'=D.DocNo,'色号'=D.proName,'客户'=D.cusName,'流水号'=D.DocNo,'料品'=D.ItemInfo_ItemName,'工序'=A.GX,'出缸时间'=A.ZYEn...2011-05-11 10:34:38 · 575 阅读 · 0 评论 -
SQL杂记
union: UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。 ...2011-05-10 09:43:01 · 106 阅读 · 0 评论 -
SQL大全
[code="java"]基本SQL语句--------------创建一个数据库 -----------create database 库名on primary ---主要数据文件(name=库名_data,---主要数据文件逻辑文件名,可任意命名,与日志文件逻辑文件名不能相同filename='盘符:\路径\库名.mdf',---主要数据文件物理文...原创 2010-06-01 21:34:18 · 69 阅读 · 0 评论 -
Sybase 动态改变存储过程里查询的数据库
[code="sql"]declare @sql varchar(500)select @sql='select * from '+@dbName+'..tableName'--此句用于执行拼接好的SQL语句exec(@sql)例二:declare @sql2 varchar(max)declare @str1 varchar(20)set @str1='年龄'...原创 2010-05-21 11:56:36 · 88 阅读 · 0 评论 -
SQLServer 使用变量动态行转列
drop table #testcreate table #test( id int identity(1,1) primary key, bizDate varchar(50), type varchar(50), qty float)insert into #testselect '20110501','A',20.5 union allselect '201105...原创 2011-05-27 10:27:04 · 339 阅读 · 0 评论 -
SQLServer 临时表
1)在临时表里插入数据select 列1,列2,列3 --列名必须是结果集中包含的列名或别名into #临时表表名 from 表名 或 select 列1,列2,列3 --列名必须是结果集中包含的列名或别名into #临时表表名 from ( 结果集 ) 别名 PS.别名必须写上,不然报...原创 2011-05-27 10:32:49 · 97 阅读 · 0 评论