什么时候应该实际上使用一个实际的表视图? 我应该预期这会产生什么收益? 总体而言,在表格上使用视图有什么优势? 我不应该以视图应该看起来的样子devise桌子吗?
有没有办法从数据库中获取所有表,过程和其他对象的脚本? 我知道有一个脚本数据库的选项,但它只给了我一些顶级脚本,当然不是一个脚本来创build所有的表,procs,udfs,.etc。
我试着改变一个默认的参数值: ALTER PROCEDURE [dbo].[my_sp] @currentDate datetime = GETDATE() 和所有的SQL预编译器给我这个错误: Msg 102,Level 15,State 1,Procedure my_sp,Line 8'(')附近语法不正确。 我已经创build了这个程序。 (我不知道这是相关的。)我使用一个空的默认值,并稍后检查,但这似乎不正确。 我可以在一行吗? 更新:我正在脱离MSDN的存储过程参数的描述 : [= default]是参数的默认值。 如果定义了默认值,则可以执行该function而不指定该参数的值。 注意: 除了varchar(max)和varbinary(max)数据types外,可以为CLR函数指定默认参数值。 当函数的参数具有默认值时,必须在调用该函数以检索默认值时指定关键字DEFAULT。 此行为不同于在存储过程中使用具有默认值的参数,其中省略该参数也意味着默认值。 我读这个错吗? 非常感谢。
在SQL中,如何删除表中特定列的前4个字符的值? 列名是Student Code ,示例值是ABCD123Stu1231 。 我想从我的表中删除前4个字符的所有logging 请指导我
当试图理解SQL语句如何执行时,有时build议查看解释计划。 在解释解释计划(有意义)时应该经历什么过程? 什么应该突出,“哦,这是出色的工作?” 对“哦,不,这是不对的。”
我有一个非常简单的问题,但我没有得到任何简单的代码使用Mysql从SP退出。 任何人都可以与我分享如何做到这一点? CREATE PROCEDURE SP_Reporting(IN tablename VARCHAR(20)) BEGIN IF tablename IS NULL THEN #Exit this stored procedure here END IF; #proceed the code END;
我有一个脚本中的表variables(而不是存储过程)。 两个问题: 如何删除表variables? Drop Table @varName给出“错误的snytax”错误。 我应该一直这样做吗? 我听说这是一个很好的做法。 这样的小脚本真的有必要吗? 这是我的代码: Declare @projectList table( name varchar(40) NOT NULL); Insert Into @projectList Values ('BCR-00021') Select * From @projectList Drop Table @projectList — does not work
SELECT (InvoiceTotal – PaymentTotal – CreditTotal) AS BalanceDue FROM Invoices WHERE BalanceDue > 0 –error 在选定列的列表中设置为variables的计算值“BalanceDue”不能在WHERE子句中使用。 有没有办法呢? 在这个相关的问题中( 在Where子句中使用MySQL Select Statment中的variables ),似乎答案会是,实际上,不,您只需写出计算( 并在查询中执行计算)两次,而不是这是令人满意的。
使用以下查询和结果,我正在查找ChargeId和ChargeType是唯一的最新条目。 select chargeId, chargeType, serviceMonth from invoice CHARGEID CHARGETYPE SERVICEMONTH 1 101 R 8/1/2008 2 161 N 2/1/2008 3 101 R 2/1/2008 4 101 R 3/1/2008 5 101 R 4/1/2008 6 101 R 5/1/2008 7 101 R 6/1/2008 8 101 R 7/1/2008 期望: CHARGEID CHARGETYPE SERVICEMONTH 1 101 R 8/1/2008 2 161 N 2/1/2008
比方说,我必须实现一个必须返回一个表作为结果的T-SQL代码。 我可以实现一个表值函数或者一个返回一组行的存储过程。 我应该使用什么? 总之,我想知道的是: 函数和存储过程之间的主要区别是哪些? 我需要考虑使用哪一种考虑因素?