-
CREATEFUNCTIONsqlserver用户定义函数
创建用户定义函数,它是返回值的已保存的Transact-SQL例程。用户定义函数不能用于执行一组修改全局数据库状态的操作...
数据库操作教程 2022-09-23 17:18:33 -
基于SqlServer通用分页存储过程的解决方法
sqlserver2000分页方式很多,效率吗 当到达10万级以上就有些吃力了,这里暂时不例出来了sqlserver2005以上就有了row_number也是一大进步,详情如下参考复制代码代码如下:SqlServer2005通用分页存储过程CREATEPROCEDURE[dbo].[Common_GetPagedList](@TableNamenvarchar(100),--表名@ColumnNamesnvarchar(1000)='*',--字段名集合(全部字段为*,其它逗号分隔)@OrderClausenvarchar(1000),--排序从句(不包含orderby)@WhereClausenvarchar(1000)=N'1=1', --条件从句(不包含where)@PageSizeint=0,--每页记录数(0为所有)@PageIndexint=1, --页索引(从1开始)@TotalRecordintoutput --返回总记录数)ASBEG...
数据库操作教程 2022-09-23 17:16:21 -
将mater库中的系统存储过程批量生成*.sql文件通用且非常实用
大家都知道系统存储过程是无法用工具导出的(大家可以试试>任务>生成SQL脚本)因为系统存储过程一般是不让开发人员修改的。需要知识:1、xp_cmdshell命令的使用2、sp_MS_marksystemobject标记系统存储过程的方法3、dos命令,如type,>>等4、bcp命令的使用复制代码代码如下:usemastergoifOBJECT_ID('pr_procToSql')isnotnulldropprocpr_procToSqlgocreateprocpr_procToSql(@服务器名varchar(100),@用户名varchar(100),@密码varchar(100),@pathvarchar(200),@databasevarchar(200),@sysprocint='0'--是否标记为系统函数1:是,0:否,@proc_namevarchar(100)=''--默认是所有,可以模糊搜索,@savetypevarchar(200)='.sql'--默认保存为sql脚本)as/*版本:v1作者:达摩日期:2012-04-13功能:1将mast...
数据库操作教程 2022-09-23 17:13:58 -
sqlserver通用的删除服务器上的所有相同后缀的临时表
复制代码代码如下:usetempdbifobject_id('tempdb..#table')isnotnulldroptabletempdb..#tableselectnameintotempdb..#tablefrom(select*fromsysobjectswherextype='U')awherea.namelike'%test_select'declare@tablevarchar(100),@countintselect@count=count(name)fromtempdb..#tablewhile(@count>0)beginselecttop1@table=namefromtempdb..#tableexec('ifobject_id('''+@table+''')isnotnulldroptable'+@table+'deletefromtempdb..#tablewherename='''+@table+'''')set@count=@count-1enddroptabletempdb..#table建议:尽量不要大量使用临时表,因为使用tempdb库会使...
数据库操作教程 2022-09-23 17:09:11 -
SQLSERVER记录登录用户的登录时间(自写脚本)
前一阵子经理问我能不能把用户最后一次登录我们的业务数据库的时间记录下来,因为之前有人修改过数据库sa用户的登录密码,所以我们要记录一下。我查了一下资料,好像不能记录谁登录过业务库,只能记录谁登录过SQLSERVER数据库版本是SQL2005,操作系统:Windows7下面是本人写的一个脚本,我的实现原理是使用触发器,触发器是登录触发器,范围是整个服务器范围,如果有人登录过,就使用bcp命令把登录信息记录日志文件1、如果原来数据库已经存在触发器把他删掉复制代码代码如下:USEMASTERGODROPTRIGGERtrg_logon_attempttestONALLSERVERGO2、在D盘新建一个文本文件d:Logondata.txt这个文本文件用来记录登录信息3、创建一个登录触发器审核登录事件复制代码代码如下:CREATETRIGGERtrg_logon_attempttestONALLSERVERWITHEXECUTEAS'sa'FORLOGON,ALTER_LOGINASBEGINDECLARE@cmdnvarchar(4000)SELECT@cmd='ECHO'+ORIGINAL...
数据库操作教程 2022-09-23 17:06:44 -
SQLSERVER利用存储过程查看角色和用户信息的写法
1、查看服务器角色相关信息SP_HELPSRVROLESP_HELPSRVROLEMEMBER服务器角色SP_HELPSRVROLE服务器角色2、查看数据库角色相关信息SP_HELPROLESP_HELPROLEMEMBER数据库角色SP_HELPROLE数据库角色3、查看用户相关信息SP_HELPUSERSP_HELPUSER数据库用户名...
数据库操作教程 2022-09-23 17:06:38 -
oracle忘记sys/system/scott用户密码的解决方法
一、忘记除SYS、SYSTEM用户之外的用户的登录密码。 用SYS(或SYSTEM)用户登录...
数据库操作教程 2022-09-23 17:01:54 -
sqlserver通用分页存储过程
复制代码代码如下:createproccommonPagination@columnsvarchar(500),--要显示的列名,用逗号隔开@tableNamevarchar(100),--要查询的表名@orderColumnNamevarchar(100),--排序的列名@ordervarchar(50),--排序的方式...
数据库操作教程 2022-09-23 16:57:59 -
MSSQL删除数据库里某个用户所有表里的数据
-->Title:删除数据库里某个用户所有表里的数据-->Author:wufeng4552-->Date:2009-09-2115:08:41--方法1复制代码代码如下:declare@unamevarchar(20)declarecusercursorforselectso.namefromsysobjectsso,sysuserssuwhereso...
数据库操作教程 2022-09-23 16:56:55 -
使SQL用户只能看到自己拥有权限的库(图文教程)
以SQLServer2012为例上图是部分数据库的截图,我们执行复制代码代码如下:DENYVIEWanyDATABASEtoPUBLIC;然后给Best库的Best用户执行复制代码代码如下:ALTERAUTHORIZATIONONDATABASE::BestTOBest资源管理器中Best用户登陆后就只能显示Best库了,同样给Mine库的Mine用户执行相同SQL复制代码代码如下:ALTERAUTHORIZATIONONDATABASE::MineTOMineMine用户登录后也只能显示Mine数据库了,达到了咱的目的,分配权限的时候记得给对应用户映射对应数据库的权限,防止跨库操作....
数据库操作教程 2022-09-23 16:56:47 -
SQLServer通用的分区增加和删除的算法
首先是将一个数据表加入到分区表的方法:[dbo].[SP_Helper_Partition_Add]@SrcTablenvarchar(256),待加入的表@DestTablenvarchar(256),目标表@idxOnDestnvarchar(1024),目标表上的索引创建语句@Partition_func_namenvarchar(256),分区函数@PartColnvarchar(256),分区的列@SonIsParttinyint=1,待加入的表是否分区算法如下:获取到源表的分区列的值;在源表上加上分区列值的唯一性限制;然后确定是否有一个分区恰好能存放这个表;如果不存在,则返回;在源表上创建和目标表一样的索引;现在源表和目标结构一致,源表的内容能够存在目标分区上,使用altertableswitch完成分区;删除一个分区的算法[dbo]...
数据库操作教程 2022-09-23 16:56:10 -
用户"sa"登陆失败SQLServer错误18456的解决方法
用windows账号还是可以登录的。查找问题的过程:第一步:启动所有与SQL有关的服务,问题依旧;第二步:查看windows防火墙,被默认启动了,不启动选择项被Disabled...
数据库操作教程 2022-09-23 16:54:10