小编sms*_*ran的帖子

哪个更快/更好?SELECT*或SELECT column1,colum2,column3等

我听说SELECT *在编写SQL命令时使用通常是不好的做法,因为它对SELECT您特别需要的列更有效.

如果我需要SELECT表中的每一列,我应该使用

SELECT * FROM TABLE
Run Code Online (Sandbox Code Playgroud)

要么

SELECT column1, colum2, column3, etc. FROM TABLE
Run Code Online (Sandbox Code Playgroud)

在这种情况下,效率真的重要吗?SELECT *如果你确实需要所有的数据,我认为内部会更优化,但我说的是没有真正了解数据库.

我很想知道在这种情况下最佳做法是什么.

更新:我可能应该指定我真正想要做的唯一情况SELECT *是当我从一个表中选择数据时我知道所有列总是需要被检索,即使添加了新列.

鉴于我所看到的反应,这仍然是一个坏主意,SELECT *永远不应该用于更多技术原因,我曾经考虑过.

sql database

159
推荐指数
8
解决办法
6万
查看次数

存储过程 PL SQL 如果字符串为空

我在使用 Oracle 存储过程时遇到了问题。该if else语句没有检查字符串是否为空。还是我做错了?

create or replace PROCEDURE GET_ICECREAM
(
   flavour IN VARCHAR2,
   toppings IN VARCHAR2,
   cursorIC OUT sys_refcursor
)
AS

dynaQuery VARCHAR2(8000);

BEGIN

dynaQuery := 'SELECT price FROM tblIceCream';

IF flavour <> '' THEN

   dynaQuery := dynaQuery || ' WHERE flavour LIKE '''%''' '

ENDIF



OPEN cursorIC FOR dynaQuery;

END GET_ICECREAM;
Run Code Online (Sandbox Code Playgroud)

免责声明:以上不是实际的存储过程。我正在使用一个示例来理解 Oracle 中 if else 和本机动态 SQL 的概念。这样你们更容易理解;)

oracle plsql stored-procedures

5
推荐指数
3
解决办法
4万
查看次数

如果javascript验证失败,则阻止页面回发

我关注asp 文本框:

<asp:TextBox ID="txtPasswrod" runat="server"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

在这个文本框下面我有错误消息标签,它最初隐藏的,直到文本框的js验证失败:

<label id="errorMsg" for="pwd" style="display:none">error</label >
Run Code Online (Sandbox Code Playgroud)

以下是文本框验证js:

function validation() 
{
  var pwd = document.getElementById("txtPasswrod").value;
  if (pwd == null || pwd == "") 
  {
    document.getElementById("error").style.display = 'block';
    return false;
  }
}
Run Code Online (Sandbox Code Playgroud)

以下是asp按钮,其OnClientClick事件我调用的是validation()函数:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" 
     onclick="btnSubmit_Click" OnClientClick="validation()"/>
Run Code Online (Sandbox Code Playgroud)

验证工作正常,但问题是,当文本框并且我的验证失败时,js应该阻止页面回发,但是js允许页面回发并且我的验证jst变得无用.

请告诉我如何 …

javascript c# asp.net validation

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