相关疑难解决方法(0)

如何在 SQL Server DDL 中使用事务?

我有一个登录表,所有插入都由一个存储过程完成。

CREATE TABLE dbo.LogTable(
    LogRefnr int IDENTITY(1, 1) NOT NULL,
    LogQuery varchar(255) NOT NULL,
    LogTime datetime NOT NULL,
    logQueryDuration int NULL,
    LogSessionID int NULL,
 CONSTRAINT PK_Log PRIMARY KEY CLUSTERED  (LogRefnr)
)
go


Create procedure DBO.LogInsert ( @Query varchar(255), @time datetime, @duration int, @SessinID int) as
begin
    Insert into LogTable ( LogRefnr, LogQuery, logQueryDuration, LogSessionID)
    Values  (@Query, @time, @duration, @SessinID);
end;
GO
Run Code Online (Sandbox Code Playgroud)

目前该表中大约有 45500000 行,我想将日志记录定向到不同的表。

我的想法是使用以下脚本

begin Transaction

exec sp_rename LogTable, LogTableOld;

CREATE TABLE dbo.LogTable(
    LogRefnr int IDENTITY(46000000, 1) NOT NULL, …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 transaction ddl

22
推荐指数
1
解决办法
1万
查看次数

为什么我不能像我想象的那样在 T-SQL 中使用变量?

原谅我,我是一名已经转向 SQL 世界的开发人员。我以为我可以通过添加变量来改进一些 SQL,但它并没有像我预期的那样运行。有人能告诉我为什么这不起作用吗?我不想解决问题,我想知道为什么这不像我想象的那样工作,因为我确信有一个很好的理由,但目前它并没有跳出来。

DECLARE @DatabaseName varchar(150)
SET @DatabaseName = 'MyAmazingDatabaseName'

CREATE DATABASE @DatabaseName
GO

USE @DatabaseName
GO
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 t-sql

20
推荐指数
3
解决办法
4335
查看次数

标签 统计

sql-server-2008 ×2

ddl ×1

t-sql ×1

transaction ×1