给定一个表示分层树结构并具有三列的表
我知道该分支中节点最低的节点,我想将其复制到具有相同数量的父节点的新分支,这些父节点也需要克隆.
我正在尝试编写单个SQL INSERT INTO语句,该语句将使具有相同main的每一行的副本成为新GroupID的第一部分GroupID.
示例开始表:
ID | ParentGroupID | SomeValue
------------------------
1 | -1 | a
2 | 1 | b
3 | 2 | c
Run Code Online (Sandbox Code Playgroud)
我运行一个简单的INSERT INTO语句后的目标:
ID | ParentGroupID | SomeValue
------------------------
1 | -1 | a
2 | 1 | b
3 | 2 | c
4 | -1 | a-cloned
5 | 4 | b-cloned
6 | 5 | c-cloned
Run Code Online (Sandbox Code Playgroud)
最终的树结构
+--a (1)
| +--b (2)
| +--c (3)
|
+--a-cloned (4) …Run Code Online (Sandbox Code Playgroud) 仅供参考,这是我正在研究的简化/通用示例.我只是在寻找可以使这项工作的HTML,JavaScript和/或CSS.我更喜欢这可以在没有任何javascript库的情况下完成.此外,将根据从数据库加载的数据构建页面.这只需要在较新的IE/Firefox浏览器中工作.
我需要创建一个网页,其上有一个固定大小的"单元格"网格,每个单元格将是150像素乘150像素.这是样本6x3网格,但我的网格大小不同(4x10或3x5等,根据数据库数据):
-------------------------------------
| | | | | | |
| | | | | | |
| | | | | | |
-------------------------------------
| | | | | | |
| | | | | | | 6x3 grid of "cells"
| | | | | | |
-------------------------------------
| | | | | | |
| | | | | | |
| | | | | | |
-------------------------------------
Run Code Online (Sandbox Code Playgroud)
这些单元格中的每一个都需要以下内容:
1)包含150像素乘150像素的"主"图像.这个图像需要在浏览器中更改,如果可能的话,希望使用CSS sprites.我想将所有这些图像粘贴到一个文件中,并将其缩小到每个单元格中所需的内容.
2)当鼠标悬停在"Cell"上时,将显示可点击图像的叠加.在下面的示例中,我使用字母,但图像不是字母,更像是图标.这些点击需要能够运行不同的每个图像javascript函数(因此单击"A"图像将运行函数A,而单击"F"将运行函数F等).图像将取决于数据库信息,因此对于不同的单元格,将包括一些而不包括其他单元格.他们在牢房中的位置将始终是固定和控制的.以下是单个单元格在顶部的图像(字母)看起来的样子:
--------- …Run Code Online (Sandbox Code Playgroud) 是否可以输入命令行命令(如在批处理文件中)将分离的数据库附加到SQL Server,而不是打开管理工作室并在那里进行操作?
我在SQL Server 2008中有一个名为"GetPrices"的存储过程,其中有一个名为"StoreIDs"的表值参数.
这是我为这个TVP创建的类型:
CREATE TYPE integer_list_tbltype AS TABLE (n int)
Run Code Online (Sandbox Code Playgroud)
我想从我的实体框架中调用SP.但是当我尝试将存储过程添加到EDM时,我收到以下错误:
函数'GetPrices'在参数索引2处具有参数'StoreIDs',其具有不受支持的数据类型'表类型'.该功能被排除在外.
这有什么解决方法吗?有什么想法吗?
法比奥
sql-server stored-procedures sql-server-2008 table-valued-parameters entity-framework-4
需要有关此SQL Server 2000过程的帮助.问题变得困难,因为我正在通过Oracle SQL Developer测试程序.
我正在运行使用Varchar格式的新数字序列迭代列的过程,以便为那些具有空值的人.
但我一直收到错误,所以a)我可能做错了方法b)由于使用的版本语法不正确.我主要是Oracle用户.
我一直得到的错误:SQL Error: Incorrect syntax near the keyword 'End'.这没有足够的帮助解决它.本End是指在程序的最后"终结".
任何帮助将不胜感激.
这是程序.
ALTER PROCEDURE [dbo].[OF_AUTOSEQUENCE] @JvarTable Varchar(250), @varColumn Varchar(250), @optIsString char(1), @optInterval int AS
/*
Procedure OF_AUTOSEQUENCE
Created by Joshua [Surname omitted]
When 20100902
Purpose To fill up column with new sequence numbers
Arguments varTable - Table name
varColumn - Column name
optIsString - Option: is it string or numeric, either use T(rue) or F(alse)
optInterval - Steps in increment in …Run Code Online (Sandbox Code Playgroud) sql-server stored-procedures sql-server-2000 dynamic-sql syntax-error
你能告诉我任何产生非均匀随机数的方法吗?
我正在使用Java,但代码示例可以是您想要的任何内容.
一种方法是通过将两个均匀随机数加在一起(即滚动2个骰子)来创建偏斜分布.
在SQL Server 2005中,我有一个表格,其数据如下所示:
WTN------------Date
555-111-1212 2009-01-01
555-111-1212 2009-01-02
555-111-1212 2009-01-03
555-111-1212 2009-01-15
555-111-1212 2009-01-16
212-999-5555 2009-01-01
212-999-5555 2009-01-10
212-999-5555 2009-01-11
Run Code Online (Sandbox Code Playgroud)
从这个我想提取WTN,Min(日期),Max(日期)扭曲是我想在日期中有间隙时也要打破,所以从上面的数据来看,我的结果应该是这样的:
WTN------------ MinDate---- MaxDate
555-111-1212 2009-01-01 2009-01-03
555-111-1212 2009-01-15 2009-01-16
212-999-5555 2009-01-01 2009-01-01
212-999-5555 2009-01-10 2009-01-11
Run Code Online (Sandbox Code Playgroud)
我们可以从存储过程返回null值.我不想使用collase或isnull.我想在前端捕获NULL.可能吗 ?
编辑:
我在用
Sql Server 2005
例如.在哪里我想用
CREATE PROCEDURE [Authentication].[spOnlineTest_CheckLogin]
@UserName NVARCHAR(50)
AS
BEGIN TRY
BEGIN TRAN
COMMIT TRAN
RETURN NULL
END TRY
Run Code Online (Sandbox Code Playgroud)
错误 'spOnlineTest_CheckLogin'过程尝试返回NULL状态,这是不允许的.将返回状态0.消息0,级别11,状态0,行0当前命令发生严重错误.结果(如果有的话)应该被丢弃.
我有一个项目清单
ItemName制造商TopSalesUnit
Item1 A 100
Item2 A 80
Item3 A 60
Item4 B 70
Item5 B 50
Item6 B 30
Item7 C 10
Item8 C 05
Run Code Online (Sandbox Code Playgroud)
我希望订购记录,以便首先显示最高的TopSalesUnit项目,然后显示来自不同制造商的下一个最高项目,然后显示来自第三个制造商的下一个最高项目,等等:
ItemName制造商TopSalesUnit
Item1 A 100
Item4 B 070
Item7 C 010
Item2 A 080
Item5 B 050
Item8 C 005
Item3 A 060
Item6 B 030
Run Code Online (Sandbox Code Playgroud)
如何在T-SQL中编写查询来实现呢?
我有一个select语句,它返回一个充满SELECT语句的表(它遍历每个表中的每一列,并创建一个select来查找该列是否包含任何错误数据).
我需要将此表充满SELECT语句,执行它们,并查看它们是否返回行.如果count(*)> 0,那么我想打印出一些数据.
我以为我必须使用光标,但我不知道如何实现这一目标.
这是我的代码来获取坏数据的计数.
SELECT 'SELECT count(*), '' '+sysobjects.name + ' - ' + syscolumns.name +
' '' FROM ['
+sysobjects.name + '] WHERE UNICODE(SUBSTRING(['+syscolumns.name+'],Len(['+syscolumns.name+']),1)) = 0'
FROM sysobjects
JOIN syscolumns ON sysobjects.id = syscolumns.id
JOIN systypes ON syscolumns.xtype=systypes.xtype
WHERE sysobjects.xtype='U' and systypes.name IN ('varchar', 'nvarchar')
ORDER BY sysobjects.name,syscolumns.colid
Run Code Online (Sandbox Code Playgroud)
这将返回一个包含以下行的表:
SELECT count(*), ' All_MW_Users - LastName ' FROM [All_MW_Users] WHERE UNICODE(SUBSTRING([LastName],Len([LastName]),1)) = 0
Run Code Online (Sandbox Code Playgroud)
我需要执行这个select,如果count(*)> 0,则打印第二列. 除非有数据要显示,否则我不想在结果或消息中显示任何内容.
sql-server ×8
sql ×4
t-sql ×4
dynamic-sql ×2
command-line ×1
css ×1
database ×1
grid ×1
html ×1
javascript ×1
random ×1
syntax-error ×1