我从来没有为SQL Server"手动编码"对象创建代码,并且外键修改在SQL Server和Postgres之间看似不同.这是我的sql到目前为止:
drop table exams;
drop table question_bank;
drop table anwser_bank;
create table exams
(
exam_id uniqueidentifier primary key,
exam_name varchar(50),
);
create table question_bank
(
question_id uniqueidentifier primary key,
question_exam_id uniqueidentifier not null,
question_text varchar(1024) not null,
question_point_value decimal,
constraint question_exam_id foreign key references exams(exam_id)
);
create table anwser_bank
(
anwser_id uniqueidentifier primary key,
anwser_question_id uniqueidentifier,
anwser_text varchar(1024),
anwser_is_correct bit
);
Run Code Online (Sandbox Code Playgroud)
当我运行查询时,我收到此错误:
消息8139,级别16,状态0,行9外键中的引用列数与引用列的数量不同,表'question_bank'.
你能发现错误吗?
我有三个存储过程Sp1,Sp2和Sp3.
第一个(Sp1)将执行第二个(Sp2)并保存返回的数据@tempTB1,第二个将执行第三个(Sp3)并将数据保存到@tempTB2.
如果我执行Sp2它将工作,它将返回我的所有数据Sp3,但问题在于Sp1,当我执行它时,它将显示此错误:
INSERT EXEC语句不能嵌套
我试图改变它的位置,execute Sp2它显示另一个错误:
无法在INSERT-EXEC语句中使用ROLLBACK语句.
我有一个从1到100(包括两者)的数字数组.数组的大小为100.数字随机添加到数组中,但数组中有一个随机空插槽.找到该插槽的最快捷方式是什么,以及插入插槽的数量是多少?Java解决方案更可取.
给定列的索引,如何获得Excel列名?
问题是棘手比它听起来,因为它不只是基地-26.列不像普通数字那样换行.即使是Microsoft支持示例也不会扩展到ZZZ之外.
免责声明:这是我之前做过的一些代码,它今天再次遇到了我的桌面.我认为值得在这里发布作为预先回答的问题.
作为一名DBA拥有多年经验,我相信我知道这个问题的答案,但我认为检查我的基础绝对不会受到伤害.
使用SQL Server,假设我有这对列索引的表A和列B,并在列第二指标A,B以及C,那会是安全的,下降的第一指标,作为第二指标基本上都会满足,将受益查询第一个指数?
我们有一个最近被移动到新服务器的WEB API项目.在对其有效负载进行一些添加之后,我正在运行我的项目,但它突然抛出以下错误:
无法将"System.Net.Http.Formatting.JsonContractResolver"类型的对象强制转换为"Newtonsoft.Json.Serialization.DefaultContractResolver".
有问题的代码行在global.asax中:
protected void Application_Start() {
GlobalConfiguration.Configure(WebApiConfig.Register);
var serializerSettings =
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings;
var contractResolver =
(DefaultContractResolver)serializerSettings.ContractResolver;
contractResolver.IgnoreSerializableAttribute = true;
}
Run Code Online (Sandbox Code Playgroud)
我相信这段代码是因为API的默认输出是XML而添加的,我们需要它来代替JSON.
突出显示(DefaultContractResolver)会显示一个工具提示,指示它的引用NewtonSoft.JSon.Serialization.DefaultContractResolver.突出显示serializersettings.ContractResolver引用IContractResolver JSonSerializerSettings.ContractResolver.
代码已经在这台机器上存在了一段时间,我认为我唯一能改变的是安装更新版本的.NET.
什么可能导致这行代码突然抛出错误?我该如何解决?
谢谢!
编辑:根据评论中的请求,我的序列化代码包含如下内容:
json += "{\"employeename\": \"" + Convert.ToString(reader["Employee"])
+ "\"},";
return JsonConvert.DeserializeObject<OrgChartModel>(json);
Run Code Online (Sandbox Code Playgroud)
Edit2:我们现在正在运行.NET 4.5.据我所知,我们之前跑过4.2,但看到它已经过了几个月,我无法确定.
根据Dominick的评论,我尝试将强制转换为DefaultContractResolver更改为:
var contractResolver =
(IContractResolver)serializerSettings.ContractResolver;
Run Code Online (Sandbox Code Playgroud)
但是,这会在API中返回以下错误:
{"Message":"The requested resource does not support http method 'GET'."}
我有以下查询:
SELECT DISTINCT f1.match_static_id,
f2.comments_no,
f2.maxtimestamp,
users.username,
users.id,
matches_of_comments.localteam_name,
matches_of_comments.visitorteam_name,
matches_of_comments.localteam_goals,
matches_of_comments.visitorteam_goals,
matches_of_comments.match_status,
new_iddaa.iddaa_code
FROM comments AS f1
INNER JOIN (
SELECT match_static_id,
MAX( TIMESTAMP ) maxtimestamp,
COUNT( match_static_id ) AS comments_no
FROM comments
GROUP BY match_static_id
) AS f2 ON f1.match_static_id = f2.match_static_id
AND f1.timestamp = f2.maxtimestamp
INNER JOIN users ON users.id = f1.user_id
INNER JOIN matches_of_comments ON matches_of_comments.match_id = f2.match_static_id
LEFT JOIN new_iddaa ON new_iddaa.match_id = matches_of_comments.match_id
WHERE matches_of_comments.flag =1
ORDER BY f2.maxtimestamp DESC
Run Code Online (Sandbox Code Playgroud)
这是该查询的EXPLAIN计划:
+----+-------------+---------------------+--------+-----------------------------------+-----------+---------+------------------------------------------+-------+------------------------------------------------+
| id …Run Code Online (Sandbox Code Playgroud) 我试图从我的Microsoft SQL Server数据库中检索一个值.它是一个可以为空的"位".
要检索的代码
[HttpGet]
public JsonResult WishesVisit()
{
int firmaid = SessionExtensions.GetFirmaId(Session);
var firma = db.Firma.Where(x => x.firma_id == firmaid).FirstOrDefault();
if (firma != null)
{
if (firma.oensker_besog != null)
{
if ((bool)firma.oensker_besog)
{
return Json("true");
}
else
{
return Json("false");
}
}
}
return Json("null");
}
Run Code Online (Sandbox Code Playgroud)
并检索代码:
$.getJSON('WishesVisit', function (data) {
alert(data);
});
Run Code Online (Sandbox Code Playgroud)
为什么我会收到500内部服务器错误?
调试器不会捕获任何异常.
我目前正在开发一个程序来跟踪我公司的库存,使用ms Access 2010.我很难获得用于显示库存的查询,以显示我想要的信息.问题似乎是查询多次拉出相同的记录,使预留和已售产品的总和膨胀.
背景:我公司库存钢筋.我们提议将条形切成碎片.从库存方面来说,我们希望跟踪每个酒吧的长度,从进入仓库的那一刻起,到仓库中的时间(可能会被切成小块),直到整个酒吧出售并消失.
数据库:提出问题的查询,是咨询3个表;
(BatchNumber和BarNo组合,是主键)
销售
预订(卖方可以预留一些材料,当客户表示兴趣,但需要时间来决定)
我想把这三个表中的信息拉到一个列表中,显示:-Barstock.orginial length As Received - Sales.Quantity已售出已售出 - 已收到 - 按库存出售 - 预订.数量保留为已保留 - 现货 - 保留为可用.
问题是我吮吸sql.我尽最大努力研究了联盟和内心的联系,但我的努力一直都是徒劳的.我通常依靠设计视图来生成我需要的Sql语句.有了设计视图,我想出了以下Sql:
SELECT
BarStock.BatchNo
, BarStock.BarNo
, First(BarStock.OrgLength) AS Recieved
, Sum(Sales.QtySold) AS SumAvQtySold
, [Recieved]-[SumAvQtySold] AS [On Stock]
, Sum(Reservation.QtyReserved) AS Reserved
, ([On Stock]-[Reserved])*[Skjemaer]![Inventory]![unitvalg] AS Available
FROM
(BarStock
INNER JOIN Reservation ON (BarStock.BarNo = Reservation.BarNo) AND (BarStock.BatchNo = Reservation.BatchNo)
)
INNER JOIN Sales …Run Code Online (Sandbox Code Playgroud) 我们正在使用parquet.net来编写 parquet 文件。我设置了一个包含 3 列和 2 行的简单架构:
// Set up the file structure
var UserKey = new Parquet.Data.DataColumn(
new DataField<Int32>("UserKey"),
new Int32[] { 1234, 12345}
);
var AADID = new Parquet.Data.DataColumn(
new DataField<string>("AADID"),
new string[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }
);
var UserLocale = new Parquet.Data.DataColumn(
new DataField<string>("UserLocale"),
new string[] { "en-US", "en-US" }
);
var schema = new Schema(UserKey.Field, AADID.Field, UserLocale.Field
);
Run Code Online (Sandbox Code Playgroud)
当使用 FileStream 写入本地文件时,会创建一个文件,当代码完成时,我可以在文件中看到两行(后面是 1 kb):
using (Stream fileStream = System.IO.File.OpenWrite("C:\\Temp\\Users.parquet")) {
using (var parquetWriter = new …Run Code Online (Sandbox Code Playgroud) sql ×4
sql-server ×3
c# ×2
.net ×1
algorithm ×1
arrays ×1
asp.net-mvc ×1
code-reuse ×1
excel ×1
indexing ×1
java ×1
json.net ×1
ms-access ×1
mysql ×1
parquet ×1
parquet.net ×1
performance ×1
php ×1
t-sql ×1