一些sql三

1、1=1,1=2的使用,在SQL语句组合时用的较多“where 1=1” 是表示选择全部“where 1=2”全部不选,如:if @strWhere&#1

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1、1=1,1=2的使用,在SQL语句组合时用的较多

“where 1=1” 是表示选择全部    “where 1=2”全部不选,
如:
if @strWhere !=” 
begin
set @strSQL = ‘select count(*) as Total from [‘ + @tblName + ‘] where ‘ + @strWhere 
end
else 
begin
set @strSQL = ‘select count(*) as Total from [‘ + @tblName + ‘]’ 
end 

我们可以直接写成

错误!未找到目录项。
set @strSQL = ‘select count(*) as Total from [‘ + @tblName + ‘] where 1=1 安定 ‘+ @strWhere 2、收缩数据库
–重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
–收缩数据和日志
DBCC SHRINKDB
DBCC SHRINKFILE

3、压缩数据库
dbcc shrinkdatabase(dbname)

4、转移数据库给新用户以已存在用户权限
exec sp_change_users_login ‘update_one’,’newname’,’oldname’
go

5、检查备份集
RESTORE VERIFYONLY from disk=’E:\dvbbs.bak’

6、修复数据库
ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB(‘dvbbs’,repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO

7、日志清除
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
 @MaxMinutes INT,
 @NewSize INT

 

— http://hovertree.com/menu/sqlserver/
USE tablename — 要操作的数据库名
SELECT  @LogicalFileName = ‘tablename_log’, — 日志文件名
@MaxMinutes = 10, — Limit on time allowed to wrap log.
 @NewSize = 1  — 你想设定的日志文件的大小(M)

Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size 
 FROM sysfiles
 WHERE name = @LogicalFileName
SELECT ‘Original Size of ‘ + db_name() + ‘ LOG is ‘ + 
 CONVERT(VARCHAR(30),@OriginalSize) + ‘ 8K pages or ‘ + 
 CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + ‘MB’
 FROM sysfiles
 WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
 (DummyColumn char (8000) not null)

DECLARE @Counter    INT,
 @StartTime DATETIME,
 @TruncLog   VARCHAR(255)
SELECT @StartTime = GETDATE(),
 @TruncLog = ‘BACKUP LOG ‘ + db_name() + ‘ WITH TRUNCATE_ONLY’

DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
— Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) — time has not expired
 AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)  
 AND (@OriginalSize * 8 /1024) > @NewSize  
 BEGIN — Outer loop.
SELECT @Counter = 0
 WHILE   ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
 BEGIN — update
 INSERT DummyTrans VALUES (‘Fill Log’) DELETE DummyTrans
 SELECT @Counter = @Counter + 1
 END
 EXEC (@TruncLog)  
 END
SELECT ‘Final Size of ‘ + db_name() + ‘ LOG is ‘ +
 CONVERT(VARCHAR(30),size) + ‘ 8K pages or ‘ + 
 CONVERT(VARCHAR(30),(size*8/1024)) + ‘MB’
 FROM sysfiles 
 WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF 

8、说明:更改某个表
exec sp_changeobjectowner ‘tablename’,’dbo’

9、存储更改全部表

CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS

DECLARE @Name    as NVARCHAR(128)
DECLARE @Owner   as NVARCHAR(128)
DECLARE @OwnerName   as NVARCHAR(128)

DECLARE curObject CURSOR FOR 
select ‘Name’    = name,
   ‘Owner’    = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name

OPEN   curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN     
if @Owner=@OldOwner 
begin
   set @OwnerName = @OldOwner + ‘.’ + rtrim(@Name)
   exec sp_changeobjectowner @OwnerName, @NewOwner
end
— select @name,@NewOwner,@OldOwner

FETCH NEXT FROM curObject INTO @Name, @Owner
END

close curObject
deallocate curObject
GO

10、SQL SERVER中直接循环写入数据
declare @i int
set @i=1
while @i<30
begin
    insert into test (userid) values(@i)
    set @i=@i+1
end
案例:
有如下表,要求就裱中所有沒有及格的成績,在每次增長0.1的基礎上,使他們剛好及格:

Name     score

Zhangshan 80

Lishi       59

Wangwu      50

Songquan 69

while((select min(score) from tb_table)<60)

begin

update tb_table set score =score*1.01 

where score<60

if  (select min(score) from tb_table)>60

  break

 else

    continue

end

推荐:http://www.cnblogs.com/roucheng/p/cunchuguocheng.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120472.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BitBlt_bitcmp

    BitBlt_bitcmp/*—————————————–HELLOBIT.C–BitmapDemonstration(c)CharlesPetzold,1998—————————————–*/#include#include”resourc

    2022年10月18日
    4
  • Hive数据存储结构「建议收藏」

    Hive数据存储:  Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以自由组织Hive中的表,只需要在创建表的时候告诉Hive数据中的分隔符(列分隔和行分隔),Hive就可以解析数据。  hive的数据都存储在HDFS,我们这地方讲的存储主要只Hive中的数据模型存储。Hive中的数据模型主要由:数据库(Database)、表((table)内部表table、外部

    2022年4月14日
    64
  • 泛型讲解

    泛型讲解

    2021年9月8日
    56
  • Ubuntu彻底卸载pycharm的方法[通俗易懂]

    Ubuntu彻底卸载pycharm的方法[通俗易懂]1.查看配置信息位置首先在解压的pycharm-2020.2.1文件夹中,查看Install-Linux-tar.txt,找到配置信息的位置(下图中蓝色标识)。2.卸载安装文件首先找到安装文件所在的目录,cd切换至其目录,然后sudorm-rfpycharm-2020.2.13.删除配置信息依次cd切换至Pycharm2020.2的位置,然后rm删除掉该用户使用记录,即能实现完全卸载。…

    2022年8月27日
    5
  • java 读取字符串文件_Java读取文件为字符串

    java 读取字符串文件_Java读取文件为字符串有时在处理文件时,我们需要将文件读取为Java中的String。下面学习如何将文件读取到Java中的String的几种方法。将文件读取到String有很多方法可以在Java中将文件读取到String。在本教程中学习以下几种方法。使用BufferedReader将文件读取到字符串;使用FileInputStream将文件读取到字符串;使用Files类将文件读取到字符串;使用Scanner类将文件读取…

    2022年7月26日
    44
  • mysql中更改密码的首选语句_MySQL如何更改用户密码?(代码实例)「建议收藏」

    mysql中更改密码的首选语句_MySQL如何更改用户密码?(代码实例)「建议收藏」在MySQL中,可以使用3种不同的语句更改用户帐户密码:UPDATEstatementSETPASSWORDstatementALTERUSERstatement.但在更改帐户密码之前,应记住两件非常重要的事情:-要更改密码的用户帐户详细信息。-要更改密码的用户正在使用该应用程序,因为如果在不更改应用程序的连接字符串的情况下更改了密码,则该应用程序将无法连接到数据库服务器。现在让我们学习…

    2022年8月12日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号