标签: sql-server-2008-r2

StudentID是1000到999,999之间的整数.不能为空

我有以下问题:

在练习模式调用课程中创建一个新表.它具有以下属性.

CourseRegNumber - 这将是1000到9999之间的整数.此列每次自动增加1.这将是主要关键.

StudentID - 整数介于1000和999,999之间.不能为空.

我遇到麻烦的是编写StudentID部分.
这就是我所拥有的StudentID INT (1000,1) NOT NULL.
但是我必须在INT和(1000,1)之间有一些东西,我不知道那里有什么.

sql sql-server-2008 sql-server-2008-r2

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

在sql where ite中遍历变量

我有这样的声明:

declare @max int
@max = 1
SELECT @max, t1.col1, t1.col2
FROM table1 t1
Run Code Online (Sandbox Code Playgroud)

这会给我结果:

1 a a
1 b b
1 c c
Run Code Online (Sandbox Code Playgroud)

我希望得到这样的结果

1 a a
2 b b
3 c c
Run Code Online (Sandbox Code Playgroud)

我怎样才能达到这个效果?

我试着这样做:

@max = 1
SELECT @max, t1.col1, t1.col2
FROM table1 t1
WHERE @max = @max + 1
Run Code Online (Sandbox Code Playgroud)

但没有成功,有人可以帮助我吗?谢谢!

PS.我必须使用@max作为变量 - 我不能使用Identity或AUTOINCREMENT列

sql sql-server-2008-r2

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

存储过程中的"无效列名称"

我编写了一个存储过程来将未来日期(不包括Sat和Sun)插入到永久表中.例程只使用一个临时表.这篇文章的目的不是批评存储过程.虽然,我确信它可以改进.但是,这篇文章的目的是分析为什么存储过程在一组情况下而不是其他情况下调用时会抛出这些错误.

1 - 这是我收到的错误

Msg 207, Level 16, State 1, Procedure MAKE_FUTURE_DATES, Line 25
Invalid column name 'tdate'.
Msg 207, Level 16, State 1, Procedure MAKE_FUTURE_DATES, Line 31
Invalid column name 'wday'.
Run Code Online (Sandbox Code Playgroud)

2 - 这是存储过程

ALTER PROCEDURE [dbo].[MAKE_FUTURE_DATES] (@STARTDATE DATE)
AS
BEGIN
-- We need to populate FUTURE_DATES (table) with forward looking dates (week days only) 
-- We do not consider/exclude holidays here. We just exclude Sat/Suns

-- Temp table to hold the dates and days of the week
    CREATE …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server stored-procedures sql-server-2008-r2

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

将行转换为SQL Server 2008 R2中的列

我怎么转这个:

在此输入图像描述

还有这个:

在此输入图像描述

进入这个:

在此输入图像描述

在SQL Server 2008 R2中?

sql pivot sql-server-2008-r2

0
推荐指数
1
解决办法
5万
查看次数

计数动态构建查询到变量的记录数

我正在构建一个查询,其中选择的列数不固定,所以我生成我的查询运行时并在存储过程中执行它.但我现在卡住了,因为我想根据记录的数量从我的查询中执行一些操作,但我不知道如何从动态查询中获取记录数量的计数,其中我的查询就像

DECLARE @RowCount AS numeric(18,0)
DECLARE @SQL AS VARCHAR(MAX)
Set @SQL ='Select Count(*) From ((Select Col1,Col2,Col3,Col4 From Table1)) as rowcount'
Exec(@SQL)
Set @RowCount  = ????..
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何从dynaimc查询得到记录数

sql dynamic runtime.exec sql-server-2008-r2

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

从字符串生成唯一ID

我正在尝试使用文本字符串并从中创建一个唯一的数值,我没有任何运气.

例如,我有用户名(第一个和最后一个)和生日.我试过取这些值并将它们转换为varbinary,它确实从数据中给出了一个数值,但它并不是唯一的.在大约700条记录中,我将获得至少100个重复的数值,但用于生成数字的名字,姓氏和生日的文本是不同的.

这是我一直在尝试的一些代码:

SELECT CONVERT(VARCHAR(300), CONVERT(BIGINT,(CONVERT(VARBINARY, SE.FirstName) +  CONVERT(VARBINARY, SE.BirthDate) ))) FROM ELIGIBILITY SE
Run Code Online (Sandbox Code Playgroud)

如果我使用该代码并转换以下数据,则结果为3530884780910457344.因此,从此唯一数据生成相同的数字:

David       12/03/1952
Janice      12/23/1952
Michael     03/24/1952
Mark        12/23/1952
Run Code Online (Sandbox Code Playgroud)

我正在寻找某种方式,越简单越好,从这些数据中获取这些值并生成唯一的数值.我之所以需要使用这些值作为输入是因为我试图避免在将来创建重复项,并且能够根据公式预测数值.这就是NewID()不适合我的原因.

t-sql sql-server sql-server-2008-r2

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

使用二进制格式的Java在数据库中存储图像

我正在解决我的项目并遇到一些问题,我搜索了它,但找不到完整的学习资源,我需要的是使用我的Java程序将图像存储在SQL Server数据库中,并且需要返回检索,图像尺寸不大,介于30到50 K之间,我可以使用toolKit中的getImage()方法从我的磁盘加载图像

Image imm = Toolkit.getDefaultToolkit().getImage("URl");
Run Code Online (Sandbox Code Playgroud)

,但我不知道如何将该图像转换为二进制格式并存储在数据库中,然后检索从数据库返回.我想通过查看几个站点将它存储在VarBinary中,我发现SQL Server中的图像类型很快就会退回.

java swing image binary-data sql-server-2008-r2

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

如何使用PowerShell将CSV文件的数据插入SQL Server数据库表

我想通过从我的本地机器执行PS脚本来做到这一点..其中DB服务器是远程机器.

在CSV文件中,我没有指定任何列名.(只有逗号分隔和对齐o/p).

我不想用 BULK INSERT

sql csv powershell sql-server-2008 sql-server-2008-r2

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

将SQL数据导出到Excel非常慢

我正在将SQL数据导出到Excel.我目前使用的代码是:

    DataTable dt = new DataTable();
            // Create sql connection string
            string conString = "Data Source=DELL\\SQLSERVER1;Trusted_Connection=True;DATABASE=Zelen;CONNECTION RESET=FALSE";

            SqlConnection sqlCon = new SqlConnection(conString);
            sqlCon.Open();


            SqlDataAdapter da = new SqlDataAdapter("select LocalSKU,ItemName, QOH,Price,Discontinued,CAST(Barcode As varchar(25)) As Barcode,Integer2,Integer3,ISNULL(SalePrice,0.0000)AS SalePrice,SaleOn,ISNULL(Price2,0.0000)AS Price2 from dbo.Inventory", sqlCon);

            System.Data.DataTable dtMainSQLData = new System.Data.DataTable();

            da.Fill(dtMainSQLData);
            DataColumnCollection dcCollection = dtMainSQLData.Columns;

            // Export Data into EXCEL Sheet
            Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
            ExcelApp.Application.Workbooks.Add(Type.Missing);



            int i = 1;
            int j = 1;
            int s = 1;
            //header row
            foreach (DataColumn col in dtMainSQLData.Columns) …
Run Code Online (Sandbox Code Playgroud)

c# export export-to-excel sql-server-2008-r2

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

在订购每个查询时联合所有2个查询

我如何将所有2个查询联合起来,但在将所有查询合并之前对每个查询进行排序?我希望在结果按总和([docextprice])desc命令后的每一年获得前20名的结果

这是我现在拥有的一个例子:

SELECT      top 20 gm.[partnum]
            ,p.PartDescription
            ,sum([docextprice])[docextprice]
            ,year([invoicedate])year
            ,'Eco Surfaces' product

FROM        dbo.gm gm
            JOIN dbo.Part p on gm.partnum = p.PartNum

WHERE       gm.company = 'EII' and [invoicedate] BETWEEN  '20100809' and '20101231'
            and p.ClassID in ('mpe') 


GROUP BY    year([invoicedate]),gm.[partnum],p.PartDescription
ORDER BY    year([invoicedate]),sum([docextprice]) desc

UNION ALL

SELECT      top 20 gm.[partnum]
            ,p.PartDescription
            --,gm.[prodcode]
            --,p.ClassID
            ,sum([docextprice])[docextprice]
            ,year([invoicedate])year
            ,'Eco Surfaces' product

FROM        dbo.gm gm
            JOIN dbo.Part p on gm.partnum = p.PartNum

WHERE       gm.company = 'EII' and [invoicedate] BETWEEN  '20110101' and '20111231'
            and p.ClassID in …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008-r2

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