我知道这一定很简单,但是我如何通过检查来创建一个函数来查看它是否已经存在?如果它存在,我想删除并重新创建它.
有没有办法坚持变量?
Declare @bob as varchar(50);
Set @bob = 'SweetDB';
GO
USE @bob --- see note below
GO
INSERT INTO @bob.[dbo].[ProjectVersion] ([DB_Name], [Script]) VALUES (@bob,'1.2')
Run Code Online (Sandbox Code Playgroud)
请参阅"USE @bob"行的SO问题.
sql sql-server sql-server-2000 sql-server-2008 sql-server-2012
我想在所有数据库的所有表中找到所有列名.有查询可以帮我吗?该数据库是Microsoft SQL Server 2000.
如何获得给定datetime值的时间?
我有一个datetime像这样的数据库:
2010-09-06 17:07:28.170
Run Code Online (Sandbox Code Playgroud)
并且只想要时间部分:
17:07:28.170
Run Code Online (Sandbox Code Playgroud)
有什么功能吗?
RFC 4180定义Common Format and MIME Type for Comma-Separated Values (CSV) Files.其中一个要求RFC 4180如下所述.这是#7RFC链接中的要点.
If double-quotes are used to enclose fields, then a double-quote
appearing inside a field must be escaped by preceding it with
another double quote. For example:
"aaa","b""bb","ccc"
Run Code Online (Sandbox Code Playgroud)
DTS Export/Import Wizard在SQL Server 2000似乎符合上述标准,即使RFC 4180本身似乎一直只公布2005年10月.我使用下面提到的SQL Server 2000版本.
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) …Run Code Online (Sandbox Code Playgroud) 我意识到临时表是会话/连接绑定的,不可见或可从会话/连接访问.
我有一个长期运行的存储过程,在各个阶段创建临时表.
有没有办法可以看到当前临时表的列表?我需要什么特权才能这样做?
或者,
有没有办法可以看到正在运行的存储过程中执行的特定SQL语句?该过程作为SQL Server中的计划作业运行.
我正在使用SQL Server 2000.
谢谢你的指导.
我有一个查询做类似的事情:
SELECT FieldX, FieldY FROM A
WHERE FieldW IN (108, 109, 113, 138, 146, 160,
307, 314, 370, 371, 441, 454 ,457, 458, 479, 480,
485, 488, 490, 492, 519, 523, 525, 534, 539, 543,
546, 547, 550, 564, 573, 629, 642, 643, 649, 650,
651, 694, 698, 699, 761, 762, 768, 772, 773, 774,
775, 778, 784, 843, 844, 848, 851, 852, 853, 854,
855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
865, 868, 869, 871, 872, …Run Code Online (Sandbox Code Playgroud) 我有一个SQL Server 2000,其中包含一个包含image列的表.
如何通过指定文件的路径将文件的二进制数据插入该列?
CREATE TABLE Files
(
FileId int,
FileData image
)
Run Code Online (Sandbox Code Playgroud) 如何在存储过程中退出?
我有一个存储过程,我想尽早摆脱(尝试调试).我已经打过电话RETURN,并RAISERROR和SP在后台继续运行:
CREATE PROCEDURE dbo.Archive_Session @SessionGUID uniqueidentifier AS
print 'before raiserror'
raiserror('this is a raised error', 18, 1)
print 'before return'
return -1
print 'after return'
[snip]
Run Code Online (Sandbox Code Playgroud)
我知道它继续运行,因为我遇到了进一步的错误.我看不到任何印刷品.如果我注释掉大部分存储过程:
CREATE PROCEDURE dbo.Archive_Session @SessionGUID uniqueidentifier AS
print 'before raiserror'
raiserror('this is a raised error', 18, 1)
print 'before return'
return -1
print 'after return'
/*
[snip]
*/
Run Code Online (Sandbox Code Playgroud)
然后我没有得到我的错误,我看到结果:
before raiserror
Server: Msg 50000, Level 18, State 1, Procedure Archive_Session, Line 5
this is a raised error …Run Code Online (Sandbox Code Playgroud) t-sql sql-server stored-procedures sql-server-2000 flow-control
我有一个执行select语句的存储过程.我希望我的结果按日期字段排序,并显示所有记录首先是NULL日期,然后是最近的日期.
声明如下:
SELECT a,b,c,[Submission Date]
FROM someView
ORDER BY [Submission Date] ASC
Run Code Online (Sandbox Code Playgroud)
现在,这将首先显示所有具有NULL提交日期的记录,但是当我到达具有日期值的行时,它们不是视图中的最新日期.
如果我用DESC替换ASC,那么我按照我想要的顺序获取日期,但NULL值位于我的结果集的底部.
有没有办法构建我的查询,以便我可以在顶部显示空值,然后当有日期值时,为了命令它们从最近的下降到最早?
sql-server-2000 ×10
sql-server ×8
t-sql ×5
sql ×4
datetime ×1
flow-control ×1
ssis ×1
temp-tables ×1