标签: sql-insert

一个连接中存在多个 Insert 语句

我需要一些关于如何更好地做到这一点的提示,我正在使用一个连接插入多个查询。

我知道这不是一个好的编程,特别是它很容易发生 SQL 注入,我还想提一下它不会在互联网上发布,只是在本地运行。

这是我到目前为止所拥有的..

public partial class Modify : System.Web.UI.Page
{
    OleDbConnection connection;
    OleDbCommand command;

  public void OpenConnection2()
    {
        connection = new OleDbConnection("");
        command = new OleDbCommand();
        connection.Open();
    }

  protected void btnSave_Click1(object sender, EventArgs e)
    {
        if (AcctNumList.SelectedValue == "3")
        {
            string query2 = String.Format(@"INSERT INTO ACH (rptid, tableid, name, amount, stat, create_date) values 
                                                            ('{0}','{1}','{2}','{3}','{4}','{5}')",
                                                            id, newguid, Name1TxtBox.Text.Replace("'", "''"), Amt1TxtBox.Text.Replace("'", "''"), 3, DateTime.Now.ToString());
            string query3 = String.Format(@"INSERT INTO ACH (rptid, tableid, name, amount, stat, create_date) values 
                                                            ('{0}','{1}','{2}','{3}','{4}','{5}')", …
Run Code Online (Sandbox Code Playgroud)

c# sql oledb sql-insert

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

使用 Groovy SQL 计算受影响的行数

假设我有以下 SQL 表定义:

create table test(
    id number(5) primary key
);
Run Code Online (Sandbox Code Playgroud)

此外,我想使用 Groovy 的 SQL 支持在所述表上执行INSERT和语句。DELETE

给定以下代码,该代码执行一条INSERT语句:

Sql db = new Sql(some_dataSource)
String query = "insert into test (id) values (999)"
def result = db.execute(query)
Run Code Online (Sandbox Code Playgroud)
  • 我可以知道,在这段代码中,插入了多少行test(在本例中为 1)?

  • result该变量对于确定这一点有用吗?

我尝试在此处此处查看 Groovy 的 SQL 支持文档,但提供的示例似乎仅对SELECT语句进行行计数。

谢谢!

sql groovy sql-insert sql-delete

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

在 ControlParameter 中找不到控件 ID

我试图从文本框中插入值,但收到错误消息,无法在控制参数中找到 controlid。TextBox 位于表单视图内,而表单视图位于列表视图内。SqlDataSource 位于 ListView 之外。

我的 InsertButton_Click 方法

protected void InsertButton_Click(object sender, EventArgs e)
    {

        var ctrl = (Control)sender;
        var formview = (FormView)ctrl.NamingContainer;
        formview.ChangeMode(FormViewMode.Insert);
        SectionListView.DataSource = SectionDataSource;
        SectionListView.DataBind();

    }
Run Code Online (Sandbox Code Playgroud)

插入项目模板

<InsertItemTemplate>
    <tr style="">
        <td>
           <div style="font-size: .8em;">
               <asp:FormView ID="SectionFormView" runat="server" DataKeyNames="SectionItemID" DataSourceID="SectionDataSource">
                   <ItemTemplate>
                       <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" OnClick="InsertButton_Click" Font-Size="1.2em" />
                       <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" Font-Size="1.2em" />
                       <asp:Label ID="SectionItemLabel" runat="server" Text="SectionItem" Font-Bold="true" Font-Size="1.2em" />
                       <asp:TextBox ID="SectionItemTextBox" runat="server" />
                       <asp:Label ID="SectionItemSubLabel" runat="server" Text="SectionItem Label" Font-Bold="true" Font-Size="1.2em" />
                       <asp:TextBox ID="SectionItemLabelTextBox" …
Run Code Online (Sandbox Code Playgroud)

asp.net sqldatasource controlparameter sql-insert

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

从选择结果中插入多行

对于我必须执行的数据库修复,我需要为此查询结果的每个ID执行插入操作;

SELECT Id FROM role WHERE id != 99 AND Id NOT IN (SELECT RoleId FROM permissionaction WHERE PermissionId = 19);
Run Code Online (Sandbox Code Playgroud)

因此,它会产生一些必须与此查询一起添加的 ID。

  INSERT INTO permissionaction (AccessLevel, PermissionId, ControllerActionId, Active, CreatedOn, ModifiedOn, CreatedById, ModifiedById, RoleId) VALUES (1, 19, 1, 1, Now(), Now(), 1, 1, *******ID HERE******);
Run Code Online (Sandbox Code Playgroud)

我知道可以使用 mysql 游标来完成,但这里不可能。有没有一种方法可以在一个查询中添加所有生成的 ID?

谢谢

mysql bulkinsert sql-insert

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

插入时,输出未插入但在连接表中的列

我目前正在研究某种数据映射。假设我有以下三个表:

临时表

鲁尼德 | 文档编号 | 数量
英语 7 50
C 6 12

表格1

T1ID | 文档ID | 数量
1 5 10
2 6 20
3 6 50

表2

T2ID | 鲁尼德 | T1Id
1 乙 1
2 C 2
3D 3

在表中Table1Table2T1IDT2ID是自动填充的标识列。我现在要做的是将值插入TemporaryTableTable1并将值保存在列中RunIDTemporaryTable新生成的T1IDTable2

结果表应如下所示:

表格1

T1ID | 文档ID | 数量
1 5 10
2 6 20
3 6 50
4 7 …

sql sql-server sql-insert

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

ORA-01840: 输入值对于使用 Select 的 Oracle Insert 中的日期格式而言不够长

我有以下查询,其中出现错误为ORA-01840: input value not long enough for date format. 该C_DATE列是日期数据类型。

INSERT INTO CS_LOG(NAME, ID, C_DATE)
Select MAX(ML.NAME), ML.ID, TO_CHAR(CHK_DATE,'YYYYMM')
from D_ID ML,
     CS_LOG MD
WHERE ML.NAME != MD.NAME
  and ML.ID != MD.ID
  and MD.C_DATE = LAST_DAY(to_date(sysdate,'YYYYMMDD'))
GROUP BY ML.ID, C_DATE;
Run Code Online (Sandbox Code Playgroud)

sql oracle date sql-insert

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

INSERT INTO 并使用单列的默认值

我在将数据插入 1 个包含 1 列的表时遇到问题

名称:用户 ID

列: ID

我尝试使用以下查询在此列中添加 1 行:

INSERT INTO user_id (id) VALUES ()
Run Code Online (Sandbox Code Playgroud)

问题是上面无效,我希望id取最后一个值id +1

这不是语法问题,因为此查询有效:

INSERT INTO user_id (id) VALUES (4)
Run Code Online (Sandbox Code Playgroud)

所以,我真的不知道如何解决这个问题。

sql postgresql primary-key sql-insert

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

SQL 插入错误:无法将 NULL 值插入列“Id”

我想使用以下查询在我的数据库中插入值:

INSERT INTO Users (pinConfirmed,Factor,DateUtc,LockoutEnabled,AccessCount,EmailConfirmed)
 values ('false', 'false','1/1/2018' ,'false','0','false')
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:无法将 NULL 值插入列“Id”、表“用户”中;列不允许为空。插入失败。

但是,DB中已经存在Id不为空的数据。我检查了这两个请求,发现 Id 没有空值。

select * from Users where Id IS NULL;
select * from Users where Id = 'NULL';
Run Code Online (Sandbox Code Playgroud)

我不明白问题出在哪里。需要帮助请。

database sql-insert

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

Oracle 12c - 插入选择查询中的列不明确,ORA-00918

我正在尝试使用单个语句执行多个插入来实现此目的,我正在使用 Insert into select 语句。但是我面临着当两列在插入中具有相同的值时。我收到的错误消息是ORA-00918: column ambiguously defined.

询问

INSERT INTO sample (
    HOST,
    TOTAL_PING,
    TOTAL_UNAVAILABLE_PING
)

SELECT * FROM (

    SELECT 'FR3158-73-1',
    82,
    82
    FROM DUAL
    UNION ALL

    SELECT 'FR3158-76-2',
    80,
    10
    FROM DUAL
)
Run Code Online (Sandbox Code Playgroud)

如果我将一个值更改为有效的值,则第一个 select 语句中存在两个值是 82 和 82 的问题。即使列值相同,我也不知道如何进行这项工作。

- - 更新 - -

表定义

CREATE TABLE sample
(
  ID                      NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1) PRIMARY KEY,
  HOST                    VARCHAR2(15 BYTE),
  TOTAL_PING              INTEGER,
  TOTAL_UNAVAILABLE_PING  INTEGER,
  ADDED_ON                TIMESTAMP(6)          DEFAULT systimestamp
);
Run Code Online (Sandbox Code Playgroud)

sql oracle ora-00918 sql-insert oracle12c

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

JDBC向数据库插入变量

我正在InsertQuery从用户通过Scanner.

如何将iName,iType等填写到 my 中,iQuery以便将它们插入到我的数据库中?

public void InsertQuery (String iName, String iType, int health_Problem, Date date2, String aRemind, String docName, String docType, String docAdress)
{
    final String url = "jdbc:mysql://localhost/ehealthdb?serverTimezone=UTC";
    final String DBUSER = "root";
    final String DBPSWD = "root";
    
    try {
        Connection con = DriverManager.getConnection(url,DBUSER,DBPSWD);
        Statement stmt = con.createStatement();
        
        String iQuery = "INSERT into appointment" 
                        + "(ID, PatientID, Insurance_Name, Insurance_Type, Health_Problem, Appointment_Date, Appointment_Remind, Doctor_Name,Doctor_Type,Doctor_Adress)"
                        + "values ('1','1',,'Gesetzlich','5','15.01.2020','1 Week','Musterarzt','Hausarzt','Musterstraße')";
        
        stmt.executeUpdate(iQuery);
        
    } …
Run Code Online (Sandbox Code Playgroud)

java database jdbc sql-insert

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