我们可以将参数传递给Microsoft SQL Server中的视图吗?
我尝试以create view下列方式,但它不起作用:
create or replace view v_emp(eno number) as select * from emp where emp_id=&eno;
Run Code Online (Sandbox Code Playgroud) 我一直在CROSS / OUTER APPLY和同事一起看,我们正在努力寻找现实生活中使用它们的例子.
我花了很多时间看看我何时应该使用Cross Apply而不是Inner Join?和谷歌搜索但主要(唯一)的例子似乎很奇怪(使用表中的行数来确定从另一个表中选择多少行).
我认为这种情况可能会受益于OUTER APPLY:
联系人表(每个联系人包含1条记录)通讯条目表(每个联系人可以包含n个电话,传真,电子邮件)
但是使用子查询,公共表表达式,OUTER JOIN与RANK()和OUTER APPLY似乎都同样执行.我猜这意味着该方案不适用于APPLY.
请分享一些现实生活中的例子并帮助解释这个功能!
SELECT (InvoiceTotal - PaymentTotal - CreditTotal) AS BalanceDue
FROM Invoices
WHERE BalanceDue > 0 --error
Run Code Online (Sandbox Code Playgroud)
在WHERE子句中不能使用在所选列列表中设置为变量的计算值"BalanceDue".
它有办法吗?在这个相关的问题中(在Where子句中使用MySQL Select Statment中的变量),似乎答案是,实际上,不,你只需要写出计算(并在查询中执行该计算)两次,没有这是令人满意的.
我正在尝试通过SQL Server Management Studio向新创建的数据库添加一个表.但是我得到错误:
设计数据库图表或表格时不支持后端版本
要查看我在SSMS中单击的当前安装的版本,这就是出现的内容:

这有什么不对?
我想在现有的遗留数据库中添加一个列,并编写一个过程,通过该过程我可以为每个记录分配不同的值.像添加列并为其自动生成数据之类的东西.
就像,如果我添加一个名为"ID"(数字)的新列,我想为每个记录初始化一个唯一值.所以,我的ID列将有1到1000的记录.我该怎么做?
这个问题接近我的需要,但我的情况略有不同.源表和目标表是相同的,主键是uniqueidentifier(guid).当我尝试这个:
insert into MyTable
select * from MyTable where uniqueId = @Id;
Run Code Online (Sandbox Code Playgroud)
我显然遇到了主键约束违规,因为我试图复制主键.实际上,我根本不想复制主键.相反,我想创建一个新的.另外,我想有选择地复制某些字段,并将其他字段留空.为了使事情变得更复杂,我需要获取原始记录的主键,并将其插入副本中的另一个字段(PreviousId字段).
我确信有一个简单的解决方案,我只是不知道足够的TSQL知道它是什么.
do whileSQL Server 2008中是否有实现循环的方法?
SQL Server 2008中对象名称的最大字符长度(例如约束,列)是多少?
我一直试图了解如何在SQL中实现自定义分页,例如阅读像这样的文章.
我有以下查询,它完美地工作.但我想用这个实现分页.
SELECT TOP x PostId FROM ( SELECT PostId, MAX (Datemade) as LastDate
from dbForumEntry
group by PostId ) SubQueryAlias
order by LastDate desc
Run Code Online (Sandbox Code Playgroud)
我想要的是什么
我有论坛帖子,有相关条目.我想获得最新添加的条目的帖子,所以我可以选择最近辩论的帖子.
现在,我希望能够获得"最近10到20个活跃的帖子",而不是"前10名".
我试过了什么
我试图将ROW函数实现为文章中的那个,但实际上没有运气.
有什么想法如何实现呢?
我有一个StudentMarks带有列的表Name, Maths, Science, English.数据就像
Name, Maths, Science, English
Tilak, 90, 40, 60
Raj, 30, 20, 10
Run Code Online (Sandbox Code Playgroud)
我希望得到如下安排:
Name, Subject, Marks
Tilak, Maths, 90
Tilak, Science, 40
Tilak, English, 60
Run Code Online (Sandbox Code Playgroud)
使用unpivot,我可以正确获取Name,Marks,但无法将源表中的列名称获取到Subject所需结果集中的列.
我怎样才能做到这一点?
我到目前为止已达到以下查询(获取名称,标记)
select Name, Marks from studentmarks
Unpivot
(
Marks for details in (Maths, Science, English)
) as UnPvt
Run Code Online (Sandbox Code Playgroud) sql-server ×10
sql ×8
t-sql ×4
database ×1
do-while ×1
join ×1
loops ×1
pagination ×1
parameters ×1
ssms ×1
unpivot ×1
views ×1
while-loop ×1