数据库
shejiangao
这个作者很懒,什么都没留下…
展开
-
SQLSERVER 更新所有字段
declare @FieldName VARCHAR(50)declare @TableName VARCHAR(50) = 'GWW_BM_T_IndustrialSource'declare B_Cursor1 cursor for SELECT a.name FROM sys.columns a JOIN sys.types b ON b.user_type_id = a.user_type_idWHERE a.object_id = OBJECT_ID(@TableName) ...原创 2022-04-25 12:10:09 · 1344 阅读 · 0 评论 -
sqlserver FOR XML PATH 拼接字符串
SELECT '[' + PreMeasureDate + ']' + ',' FROM ( select DISTINCT PreMeasureDate from GWA_WERM_T_DayAvgPre where StartDate = '2021-05-10')A ORDER BY A.PreMeasureDate ASC FOR XML PATH ('')...原创 2021-06-10 11:07:54 · 297 阅读 · 0 评论 -
PIVOT 快速行转列
select StationId,StationName,MeasureDate,CAST(CAST(T.GWTW0101019 AS FLOAT) AS VARCHAR) as CodMn,CAST(CAST(T.GWTW0121003 AS FLOAT) AS VARCHAR) as NH3N,CAST(CAST(T.GWTW0121011 AS FLOAT)AS VARCHAR) as TP,T.LL as FlowFlagfrom (SELECT c.StationId,c.Statio...原创 2021-04-08 18:21:46 · 655 阅读 · 0 评论 -
删除重复只保留一条
DELETE FROM GWW_CWE_T_PredictQueue where id not in (select bid from (select min(id) asbid from GWW_CWE_T_PredictQueue group by WarningTypeCode,UpStationId,UpFactorCode,UpMeasureDate) as b )原创 2020-12-16 15:47:07 · 130 阅读 · 0 评论 -
oracle 查询字段中非数字的记录
--1.正则判断,适用于10g以上版本--非正整数 select 字段 from 表 where regexp_replace(字段,'\d','') is not null;--非数值类型select 字段 from 表 where regexp_replace(字段,'^[-\+]?\d+(\.\d+)?$','') is not null;原创 2020-05-21 11:16:28 · 1251 阅读 · 0 评论 -
Oracle删除过期备份
@echo offrem write to logset filename=deletefile.logecho -------------------Delete Expired Log Files------------------------- >>%filename%echo Start >>%filename%echo (%date% %time%) &...原创 2018-12-28 16:22:36 · 1077 阅读 · 0 评论 -
Oracle定时备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本echo 1. 使用当前日期命名备份文件。echo ================================================::以“YYYYMMDD”格式取出当前时间。s...原创 2018-12-28 15:51:46 · 424 阅读 · 0 评论 -
oracle表、字段描述信息
select a.TABLE_NAME,c.comments,a.COLUMN_NAME,b.comments,b.comments,'N',A.DATA_TYPE,B.comments from user_tab_columns a,user_col_comments b,user_tab_comments c where a.table_name in('GWM_DIM_ALARMCATEGO...原创 2018-08-22 16:40:35 · 1935 阅读 · 0 评论 -
判断2的n次幂之和
SELECT * FROM dbo.BB_Alarms WHERE power(2,month(AlarmEndDate)) & 480 = power(2,month(AlarmEndDate))原创 2019-06-19 14:46:29 · 710 阅读 · 0 评论 -
oracle 清空表并释放占用空间
truncate table 表名 DROP STORAGE;alter TABLE 表名 deallocate unused keep 1k;原创 2018-06-27 11:25:09 · 6819 阅读 · 0 评论 -
ORACLE游标使用
DROP TABLE GW_PROC_IF_GETALARMPARAMS;CREATE OR REPLACE PROCEDURE "GW_PROC_IF_GETALARMPARAMS" ( AlarmTypeCode varchar2, --报警类型编码 my_cur out sys_refcursor --输出结果集合 ) is TY...原创 2019-04-04 10:12:13 · 147 阅读 · 0 评论 -
oracle存储过程----遍历游标的方法(for、fetch、while)
create or replace procedure myprocedure is CURSOR CUR_TEST IS --声明显式游标 SELECT ECODE,ENAME FROM EMP; CUR CUR_TEST%ROWTYPE; --定义游标变量,该变量的类型为基于游标C_EMP的记录 BEGIN...转载 2019-04-04 10:17:36 · 546 阅读 · 0 评论 -
Oracle for in loop 循环记录行
for HZ in (select HZ_NAME from HZ) LOOP insert into sqltext select 'CREATE TABLE ' || REPLACE(P_TABLE_NAME, 'EDW', 'TMP') || HZ.HZ_NAME || ' AS select * from ' || P_TABLE_NAME |...原创 2019-04-04 10:26:07 · 10301 阅读 · 0 评论 -
Oracle之内存结构(SGA、PGA)调整
alter system set sga_max_size=3024m scope=spfile;alter system set pga_aggregate_target=2G scope=both;原创 2019-03-28 14:31:39 · 371 阅读 · 0 评论 -
SQLSERVER 导入大脚本文件
通过sql脚本可将数据导入数据库中,但是一般当脚本文件超过100M的量级时,SSMS就无法执行了。这个时候可通过命令行的 osql 命令读取脚本入库。亲测可以成功导入10G左右大小的脚本,只不过速度稍慢,需要2个多小时。语法:osql -S [服务器] -U [登录名] -P [密码] -i [XXX.sql]osql -S 10.198.12.200 -U sa -P 123 ...原创 2019-08-01 14:02:44 · 1440 阅读 · 0 评论 -
Oracle SQLServer 通用分页
select * from ( select row_number() over (order by StudentInfoId) row,* from StudentInfo ) StudentInfo where row between @PageSize*(@PageIndex-1) and @PageSize*@PageIndex原创 2013-05-15 14:16:56 · 395 阅读 · 0 评论 -
获取一组数两两组合情况
CREATE function [dbo].[Fun_GetArrange](@input NVARCHAR(MAX))returns @Arrange table (Val1 VARCHAR(200),Val2 VARCHAR(200))as BEGIN DECLARE @FirstVal VARCHAR(50)DECLARE @SecondVal VARCHA原创 2017-10-17 14:44:38 · 1506 阅读 · 0 评论 -
oracle数据库还原步骤
RMAN> list archivelog all;gwamqadrop user gwamqa cascade;alter user system identified by Abc12345;alter user gwamqa identified by Abc12345;drop tablespace GWAM_Test_temptablespace including c...转载 2017-10-10 11:28:11 · 14076 阅读 · 0 评论 -
删除某字段的所有关系以及该字段
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_deletefield]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_deletefield]GO/*--删除某字段的所有关系及该字段 删除某字段转载 2014-03-12 09:47:15 · 438 阅读 · 0 评论 -
修改表的表空间
出现System.Data.SqlClient.SqlException异常,对象名'tablename'无效。出现这个异常的原因是:数据库登录用户具有dba的权限或者系统管理的权限,这样默认登录后的默认表空间是dbo的系统表空间,而不是用户表空间。解决方法:1、去掉数据库登录用户的dba权限或系统管理员权限,这样登录后默认表空间就是用户表空间。2、将用户所有表设置为dbo,执行:转载 2014-02-12 12:23:22 · 511 阅读 · 0 评论 -
SQLServer字符串分隔函数
一、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。CREATEfunction Get_StrArrayLength( @str varchar(1024), --要分割的字符串 @split varchar(10) --分隔符号)returnsintasbegi转载 2013-10-30 11:08:44 · 671 阅读 · 0 评论 -
拼接满足条件的Id串付给变量
DECLARE @vs varchar(1000)set @vs = ''SELECT @vs = @vs + ',''' + LSBZDW_DWBH + '''' FROM LSBZDWPRINT @vs原创 2013-06-04 14:03:51 · 498 阅读 · 0 评论 -
SQLServer 内容检索
declare @str varchar(100) set @str='复合信用控制' declare @s varchar(8000) declare tb cursor local for select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] like ''%'+@str+'%'') pr原创 2013-05-20 10:27:37 · 423 阅读 · 0 评论 -
批量修改表的所有者
declare tb cursor local forselect 'sp_changeobjectowner ''['+replace(user_name(uid),']',']]')+'].['+replace(name,']',']]')+']'',''dbo'''from sysobjects where xtype in('U','V','P','TR','FN','IF原创 2012-12-13 13:48:15 · 298 阅读 · 0 评论 -
将表的所有者改为dbo
--执行这个语句,就可以把当前库的所有表的所有者改为dboexec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''--如果是要用户表/存储过程/视图/触发器/自定义函数一齐改,则用游标(不要理会错误提示)declare tb cursor localforselect 'sp_changeobj原创 2012-12-12 11:44:42 · 470 阅读 · 0 评论 -
因为数据库正在使用,所以无法获得对数据库的独占访问权---还原或删除数据库的解决方法
还原或删除sql server 2008数据库时,经常烩出现:“因为数据库正在使用,所以无法获得对数据库的独占访问权”,终解决方案如下关键SQL语句:ALTER DATABASE [datebase] SET OFFLINE WITH ROLLBACK IMMEDIATE用完之后再ALTER database[ datebase]原创 2012-12-12 08:17:42 · 539 阅读 · 0 评论 -
sp_addlinkedserver的一些操作
sp_addlinkedserver 创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。 语法 sp_addlinke转载 2014-05-06 14:50:48 · 8005 阅读 · 0 评论 -
sqlserver 查找某个字符在字符串中第N次出现的位置
例如:查找'A,' 在'A,B,C,D,A,B,C,D,C,D,B,A,C,E,'中第二次出现的位置怎么实现,SQL 中有这样的函数吗? ?SQL code /* 方法很多,这里简单写一个 返回@find在@str中第(@n)次出现的位置。没有第(@n)次返回0。*/create function fn_find(转载 2014-06-14 13:36:38 · 10896 阅读 · 0 评论 -
oracle 备份
oracle 备份一、备份数据库(exp)1、完全备份exp demo/demo@orcl buffer=1024 file=d:\back.dmp full=ydemo:用户名、密码 buffer: 缓存大小file: 具体的备份文件地址 full: 是否导出全部文件 ignore: 忽略错误,如果表已经存在,则也是覆盖原创 2017-10-10 10:53:46 · 195 阅读 · 0 评论 -
Oracle登录命令
1、运行SQLPLUS工具 C:\Users\wd-pc>sqlplus2、直接进入SQLPLUS命令提示符 C:\Users\wd-pc>sqlplus /nolog3、以OS身份连接 C:\Users\wd-pc>sqlplus / as sysdba 或 SQL>connect / as sysdba4、普通用户登录原创 2017-10-10 10:49:40 · 228 阅读 · 0 评论 -
oracle数据库导入导出命令
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过Net Configuration Assistant添加正确的服务命名,其转载 2017-02-07 14:04:22 · 234 阅读 · 0 评论 -
Oracle 存储过程基础
语句块定义:Sql代码 decalre -- 变量声明 var1 number(2); -- 仅声明 var2 char(2) := '11'; -- 在声明的同时初始化 begin -- 语句 end; -- 语句块结束 if 语句转载 2016-06-06 13:38:52 · 303 阅读 · 0 评论 -
数据库批量修改varchar为nvarchar
Declare curAlterInfo Cursor For Select a.Name AlterFieldName, a.Length, a.IsNullable, b.Name AlterTableName From SysColumns a, SysObjects b Wh转载 2015-08-06 13:29:54 · 2231 阅读 · 0 评论 -
sqlserver中利用Tran_sql把逗号分隔的字符串拆成临时表
在与数据库交互的过程中,我们经常需要把一串ID组成的字符串当作参数传给存储过程获取数据。很多时候我们希望把这个字符串转成集合以方便用于in操作。 有两种方式可以方便地把这个以某种符号分隔的ID字符串转成临时表。 方式一:通过charindex和substring。 代码createfunctionfunc_splitstring(@strnvarchar(max),@sp转载 2014-06-14 13:39:37 · 1098 阅读 · 0 评论 -
截取字符串中数字部分函数
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'uf_Get_No') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))DROP FUNCTION uf_Get_NoGOCREATE function uf_Get_No ( @No varch原创 2014-08-25 18:27:14 · 1056 阅读 · 0 评论 -
恢复SQLServer数据库后,如何同步登陆名和用户名
摘要:该文章提供了恢复数据库后如何同步SQLServer的登录名的步骤。 这个过程在SDE 数据库被恢复后经常是必须的。在这种环境中SDE的用户和登录名是不同步的。如果SDE的登陆名没有被添加或者和数据库中的用户同步,会连接不上数据库导致ArcSDE服务无法启动。内容:SP_CHANGE_USERS_LOGIN存储过程可以通过重新映射登录名和数据库名来解决这个问题。原创 2012-12-12 10:31:44 · 6481 阅读 · 0 评论