试图向我的tblDomare表中添加外键时遇到问题; 我在这里做错了什么? CREATE TABLE tblDomare (PersNR VARCHAR (15) NOT NULL, fNamn VARCHAR (15) NOT NULL, eNamn VARCHAR (20) NOT NULL, Erfarenhet VARCHAR (5), PRIMARY KEY (PersNR)); INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet) Values (6811034679,'Bengt','Carlberg',10); INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet) Values (7606091347,'Josefin','Backman',4); INSERT INTO tblDomare (PersNR,fNamn,eNamn,Erfarenhet) Values (8508284163,'Johanna','Backman',1); CREATE TABLE tblBana (BanNR VARCHAR (15) NOT NULL, PRIMARY KEY (BanNR)); […]
我试图得到两天之间的总天数: 1/1/2011 3/1/2011 RETURN 62 在SQL Server中可以做到吗?
正如标题所暗示的那样…我试图用最less的开销来确定一个logging是否存在于表中。 示例查询: SELECT COUNT(*) FROM products WHERE products.id = ?; vs SELECT COUNT(products.id) FROM products WHERE products.id = ?; vs SELECT products.id FROM products WHERE products.id = ?; 说? 与'TB100'交换…第一个和第二个查询都会返回完全相同的结果(比如说对话1 )。 最后的查询将按预期的方式返回'TB100' ,或者如果表中不存在该id ,则返回任何内容。 目的是找出是否在表中的id 。 如果不是,则程序将接下来插入logging,如果是,则程序将跳过它或执行基于此问题范围之外的其他程序逻辑的UPDATE查询。 哪个更快,开销更less? (每次程序运行会重复数万次,每天运行多次)。 (通过M $提供的JDBC驱动程序从Java运行M $ SQL Server的查询)
如何删除SQL Server 2008中具有默认约束的列? 我的查询是 alter table tbloffers drop column checkin 我得到以下错误 ALTER TABLE DROP COLUMN checkin失败,因为一个或多个对象访问此列。 任何人都可以纠正我的查询删除约束列?
我如何查询我的sql服务器只获取数据库的大小? 我用这个: use "MY_DB" exec sp_spaceused 我懂了 : database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB 它返回我几列,我不需要,也许有一个技巧,从这个存储过程中selectdatabase_size列? 我也试过这个代码: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' 它给了我这个结果: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613 MY_DB MY_DB_log D:\MSSQL\Data\MY_DB.ldf 7286 所以我写了这个: SELECT SUM(SizeMB) […]
我试图写一个脚本,将完全清空SQL Server数据库。 这是我迄今为止: USE [dbname] GO EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all' EXEC sp_msforeachtable 'DELETE ?' 当我在Management Studio中运行它时,我得到: 命令成功完成。 但是当我刷新表列表时,他们都还在那里。 我究竟做错了什么?
在SQL Server中访问存储过程时出现错误 Server Error in '/' Application. Procedure or function 'ColumnSeek' expects parameter '@template', which was not supplied. 这发生在我通过.net的数据连接到sql (System.data.SqlClient)的参数来调用存储过程时,即使我正在提供参数。 这是我的代码。 SqlConnection sqlConn = new SqlConnection(connPath); sqlConn.Open(); //METADATA RETRIEVAL string sqlCommString = "QCApp.dbo.ColumnSeek"; SqlCommand metaDataComm = new SqlCommand(sqlCommString, sqlConn); metaDataComm.CommandType = CommandType.StoredProcedure; SqlParameter sp = metaDataComm.Parameters.Add("@template",SqlDbType.VarChar,50); sp.Value = Template; SqlDataReader metadr = metaDataComm.ExecuteReader(); 我的存储过程是: USE […]
我是nvarchar(MAX)这个概念的新手。 它会持有多less个字符?
SQL Server 2008中对象名(例如约束,列)的最大字符长度是多less?
SQL Server 2005在我经常使用的系统目录上有很好的sys.XXX视图。 什么绊倒我是这样的:为什么有一个“sys.procedures”视图来查看有关您的存储过程的信息,但没有“sys.functions”视图看到相同的存储function? 有没有人使用存储的function? 我发现他们非常方便,例如计算列等! 是否有一个特定的原因sys.functions丢失,或者它只是被认为是不够重要的东西放进sys目录视图? 它是否在SQL Server 2008中可用? 干杯,马克