在SQL Server中,我们可以键入IsNull()以确定字段是否为空.PL/SQL中是否有等效的功能?
我有一个现有的表,我即将被吹走,因为我没有创建它,ID列设置为表的标识列.
使用SQL Server Management Studio,我编写了现有表的"Create To ..."脚本,并得到了:
CREATE TABLE [dbo].[History](
[ID] [int] NOT NULL,
[RequestID] [int] NOT NULL,
[EmployeeID] [varchar](50) NOT NULL,
[DateStamp] [datetime] NOT NULL,
CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
我的问题是,我如何修改它,SQL以便我的结果表将ID列设置为标识?
我有一个.net应用程序,它使用Windows身份验证连接到SQL Server.
我们无法在应用程序中使用SQL Server身份验证.我们的项目有很多Active Directory用户.因此,我们必须为SQL Server中的每个Active Directory用户创建单独的登录帐户,而不是为每个AD用户创建单独的登录帐户,有没有办法在SQL Server中使用Active Directory用户组?
这是一个从表中选择所有记录的示例代码.有人可以告诉我如何选择该表的最后一条记录吗?
select * from table
Run Code Online (Sandbox Code Playgroud)
当我使用:SELECT * FROM TABLE ORDER BY ID DESC LIMIT
我收到此错误:第1行:'LIMIT'附近的语法不正确.这是我使用的代码:
private void LastRecord()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HELPDESK_OUTLOOKConnectionString3"].ToString());
conn.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("SELECT * FROM HD_AANVRAGEN ORDER BY " +
"aanvraag_id DESC LIMIT 1", conn);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
TextBox1.Text = (myReader["aanvraag_id"].ToString());
TextBox1.Text += (myReader["wijziging_nummer"].ToString());
TextBox1.Text += (myReader["melding_id"].ToString());
TextBox1.Text += (myReader["aanvraag_titel"].ToString());
TextBox1.Text += (myReader["aanvraag_omschrijving"].ToString());
TextBox1.Text += (myReader["doorlooptijd_id"].ToString());
TextBox1.Text += (myReader["rapporteren"].ToString());
TextBox1.Text += (myReader["werknemer_id"].ToString());
TextBox1.Text += (myReader["outlook_id"].ToString()); …Run Code Online (Sandbox Code Playgroud) 我遇到了一些僵局.我有一些由一些C#代码生成的查询.查询在Microsoft SQL Server Management Studio针对同一数据库运行时工作正常.
但是,当我的代码尝试运行相同的查询时,我得到关于无效列的相同错误,并抛出异常.引用此列的所有查询都失败.
最近将该列添加到数据库中.这是一个名为的日期列Incident_Begin_Time_ts.
失败的一个例子是:
select * from PerfDiag
where Incident_Begin_Time_ts > '2010-01-01 00:00:00';
Run Code Online (Sandbox Code Playgroud)
其他查询Select MAX(Incident_Being_Time_ts);在代码中运行时也会失败,因为它认为列缺失.
有任何想法吗?
我很擅长使用数据库.现在我可以写SELECT,UPDATE,DELETE,和INSERT命令.但我看过很多我们喜欢写的论坛:
SELECT empSalary from employee where salary = @salary
Run Code Online (Sandbox Code Playgroud)
...代替:
SELECT empSalary from employee where salary = txtSalary.Text
Run Code Online (Sandbox Code Playgroud)
为什么我们总是喜欢使用参数以及如何使用它们?
我想知道第一种方法的用途和好处.我甚至听说过SQL注入,但我并不完全理解它.我甚至不知道SQL注入是否与我的问题有关.
我知道这是可能的,但不知道如何.
我需要在Microsoft SQL数据库中搜索特定字符串的所有提及.例如:我想搜索所有表,视图,函数,存储过程,...字符串"tblEmployes".(不是表格中的数据)
我需要这个的原因之一,我想删除一些创建的额外数据表,但我担心它们可能在程序或函数中的某个地方使用.
任何帮助表示赞赏.
我知道在sql server中我们不能使用Group_concat函数但是这里有一个问题,我需要Group_Concat我的查询.我谷歌它发现了一些逻辑,但无法纠正它.我的SQL查询是
select m.maskid,m.maskname,m.schoolid,s.schoolname,
md.maskdetail
from tblmask m join school s on s.id = m.schoolid
join maskdetails md on m.maskid = md.maskid
order by m.maskname ;
Run Code Online (Sandbox Code Playgroud)
它给我的结果如

只看前三行在那个maskid,maskname,schoolid,schoolname是相同的但是maskdetail是不同的,所以想要一行,其中最后一列可以包含所有maskdetails,如maskid等等.
我希望我的输出像

等等.请在查询时帮助我.
提前致谢.
我有一个大数据表.该表中有1000万条记录.
这个查询的最佳方法是什么?
Delete LargeTable where readTime < dateadd(MONTH,-7,GETDATE())
Run Code Online (Sandbox Code Playgroud) 我在本地计算机上运行MS SQL Server 2008.我知道默认端口是1433,但是有些人没有在这个端口上监听.SQL是Express版本.
我已经尝试过日志,SQL Server Management Studio,注册表和扩展存储过程来查找端口.但是,我找不到它.请帮我.谢谢.