标签: sql-server-2000

数据库索引:只选择!

美好的一天,

我有大约4GB的数据,在大约10个不同的表中分开.每个表都有很多列,每列可以是查询中的搜索条件.我根本不是DBA,我对索引知之甚少,但我想尽可能加快搜索速度.重要的是,任何时候都不会有任何更新,插入或删除(表格每4个月填充一次).是否适合在每一列上创建索引?记住:没有插入,更新或删除,只选择!另外,如果我可以将所有这些列整数而不是varchar,我会在速度上有所不同吗?

非常感谢你!

database sql-server indexing sql-server-2000

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

Sql Server 2000:根据25列中的任何一列返回"true"或"false"为"true"

我必须创建一个查询几个不同列的查询,如果其中任何一个有1,我想返回true.

理想的输出将是:

ID:55
名称:John Doe
IsDealerType1:True
IsDealerType2:True
IsDealerType3:False
IsDealerType4:False
IsDealerType5:True

问题是,我有大约20个名为1a,1b,1c,1d等的列,而不是那5个经销商列.如果任何"1"列为真,那么IsDealerType1应该为真.

我试图避免在VB.NET代码中写一些内容来检查每一列,只是因为在SQL中应该很容易避免这种丑陋 - 如果我知道怎么做 - 但我不知道如何构造查询.我一直在努力......

SELECT id, 
      name, 
      (1a or 1b or 1c or 1d) as IsDealerType1, 
      (2a or 2b or 2c or 2d) as IsDealerType2 
where id = 55
Run Code Online (Sandbox Code Playgroud)

......但显然,我做得不对.

任何帮助表示赞赏.谢谢!

sql t-sql sql-server bit-manipulation sql-server-2000

1
推荐指数
2
解决办法
1175
查看次数

伪造SQL Server

我有应用程序需要SQL Server 2000作为数据库存储.我真的不想使用SQL Server 2000,但我可以使用MySQL Server.

应用程序使用ODBC连接到SQL Server数据库.

我想知道是否有可能制作假的SQL Server,它将向/从MySQL服务器发送和接收数据

应用程序<---> odbc manager <--->假SQL Server驱动程序<---> mysql服务器

任何人如果可以这样做的话?

mysql sql odbc sql-server-2000

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

试图在游标中使用Case语句

我正在尝试做以下工作:

declare @ActTable as varchar(1000)
declare @cPK as VarChar(100)
declare @SQL as nvarchar(2000)
declare @FK as VarChar(100)
declare @FKRef as VarChar(200)
declare @TblRef as varchar (100)


create table #temp (
M2MTable varchar(50),
PK varchar (100), 
FK Varchar(100),
FKRefTable Varchar(50))
insert into #temp
select 'slcdpm' , 'fcustno', '','' union all
select 'somast' , 'fsono', 'fcustno','slcdpm' union all
select 'soitem' , 'fsono,finumber', 'fsono','somast' union all
select 'sorels', 'fsono,finumber,frelease', 'fsono,finumber','soitem' union all
select 'qtmast', 'fquoteno', 'fcustno', 'slcdpm'  union all
select 'qtitem' , 'fquoteno', …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2000

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

如何在SQL 2000中从VARCHAR切换到TEXT?

在将一堆字段从VARCHAR(bignumber)切换到TEXT之前,我需要考虑什么?

除了性能之外,在远期的某个时候,TEXT将被弃用,除了看起来我需要删除并重新创建表来改变列的数据类型这一事实?

这是针对SQL 2000--我不能做VARCHAR(max)和VARCHAR(8000)不够大.

t-sql sql-server sql-server-2000

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

需要有关SQL 2000存储过程的帮助

这是我的逻辑.

我有一个文章表和一个匹配的图像表.图像以二进制格式存储.每个图像表每个图像有2个实例,这是因为我有2个尺寸.300 x 200和500 x 400,其行由ImageSize分隔

我想编写一个存储过程来检查ImageSize = 3是否可用,如果没有,则从ImageSize = 2中检索.

如何设置我的存储过程来执行此操作?

谢谢

sql sql-server-2000

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

当我尝试在SQL Server中重新启用约束时,我得到"ALTER TABLE语句与COLUMN FOREIGN KEY约束冲突"

我需要更新数据库表中的少量记录.这些表上的外键约束很少.

要禁用约束,我使用这个: -

ALTER TABLE Table_01 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_02 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_01 DISABLE TRIGGER ALL
Run Code Online (Sandbox Code Playgroud)

要启用约束,我使用此: -

ALTER TABLE Table_01 ENABLE TRIGGER ALL 
ALTER TABLE Table_01 WITH CHECK CHECK CONSTRAINT ALL 
ALTER TABLE Table_02 WITH CHECK CHECK CONSTRAINT ALL
Run Code Online (Sandbox Code Playgroud)

但由于某些原因,当我尝试将约束放回时,它会出现此错误: -

ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_Table_01_AAAAA_AAAA'. 
The conflict occurred in database 'DB', table 'Table_02', column 'ID'.
Run Code Online (Sandbox Code Playgroud)

注意:我有许多安装类似数据库的位置.所以这个启用/禁用约束正在某些数据库上运行,但不是全部.

sql t-sql sql-server-2000

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

SQL Server 2000,2005,2008兼容性

我应该如何编写代码以便在每个版本上运行它?

如果我在SQL Server 2008上开发代码,我可以运行相同的代码而不需要在2000和2005年进行任何更改吗?

假设在单个插入语句中可以在2008年进行多次插入,但在2005年和2000年则不行.

我可以在2005年和2000年运行相同的代码吗?

这是代码:

create table MergeMe (
id int identity(1,1),
Sname varchar(100),
dtDate datetime default getdate(),
)
insert into MergeMe values('Vikrant More',null),('Shrikant Gavli',null),('Saurabh Yete',null)
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server-2000 sql-server-2008

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

如何为每一行增加DateTime列一秒?

假设我有这个时间值: 09:00:00

我有一个列有Time列的表,我有三个记录.

我希望用这个时间更新这3条记录,但每次增加一秒钟的时间值(对于每条记录).

像这样的东西:

ColumnA   ColumnB
1         09:00:00
2         09:00:01
3         09:00:02
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我的解决方案

经过一段时间研究我自己的解决方案,这就是我想出的

update tor1
set ColumnB = dateadd(s,tor2.inc, ColumnB)
from table1 tor1
inner join (select ColumnA, ROW_NUMBER() OVER (Order by ColumnA) as inc from table1) tor2 on tor1.ColumnA=tor2.ColumnA
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2000

1
推荐指数
2
解决办法
7998
查看次数

有没有办法与案件联系

有没有办法与案件联系?

就像是

select * from abba 
   case when a=b then 
      join acdc on abba.id=acdc.id
   when b=c then 
      join bebop on abba.id=bebop.id 
   end
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

最好的问候乔

sql-server function sql-server-2000 table-functions

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