如何组合SELECT和INSERT INTO命令并将结果插入SQL Server中的临时表?
像这样的东西:
INSERT INTO #TempTable
SELECT * FROM MyTable;
Run Code Online (Sandbox Code Playgroud) 我有一个在 postgres 中执行 plpgsql 函数的 cron 作业。此函数将零到多条记录插入表中。返回由函数创建的记录作为结果的最佳方法是什么?
我正在使用 PostgreSQL 9.1
我无法将整数值[Question Type]和字符串[Question Space]同时插入到我的数据库中同一行.每当我点击按钮并尝试执行错误时,会说:
System.Data.dll中发生了类型为"System.Data.SqlClient.SqlException"的未处理异常
附加信息:'('附近的语法不正确.
码:
SqlCommand command5 = new SqlCommand("INSERT INTO ([Question Space], [Question Type]) Questions VALUES ('@QuestionText', '@checkedradiobutton')", connect);
command5.Parameters.AddWithValue("@QuestionText", QuestionText);
command5.Parameters.AddWithValue("@checkedradiobutton", checkedradiobutton);
command5.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
我很感激任何人都能给我的帮助.
如果你想看到,这是按钮的整个代码:
private void button1_Click(object sender, EventArgs e)
{
string connectionString = ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString;
SqlConnection connect = new SqlConnection(connectionString);
connect.Open();
int checkedradiobutton = 0;
if(radioButton1.Checked)
{
checkedradiobutton = 1;
}
else if(radioButton2.Checked)
{
checkedradiobutton = 2;
}
else if(radioButton3.Checked)
{
checkedradiobutton = 3;
}
string QuestionText = QuestionBox.Text;
SqlCommand command5 = new SqlCommand("INSERT INTO ([Question …Run Code Online (Sandbox Code Playgroud) 我有一个数据库模式,它有许多表和表之间的关系 - 你知道,标准的 SQL 数据库设置。
我想生成insert语句以将数据从一个数据库“复制”到另一个具有相同架构但没有数据的数据库。
问题是,如果我以任何顺序执行此操作,它可能无法工作,因为首先插入的数据可能取决于稍后才编写脚本的数据。
如何对insert语句进行排序以使数据依赖项的顺序正确?
我是新手MySQL。我有一列存储Unicode character在MySQL表中。
我有一个代码,它从twitter,facebook等处获取帖子并将text/symbol “原样”插入表中。
CREATE TABLE `tbl_unicode` (
`_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`first_name` varchar(45) NOT NULL,
`uninoce_Column` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`_id`)
) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8;
/* This query WONT work due to SYMBOL: */
INSERT INTO `tbl_unicode`
(`_id`,
`first_name`,
`uninoce_Column`)
VALUES
(2,
'rakesh',
'?????
#??#??#????#');
/* This query WORKS FINE */
INSERT INTO `tbl_unicode`
(`_id`,
`first_name`,
`uninoce_Column`)
VALUES
(1,
'shekhar', …Run Code Online (Sandbox Code Playgroud) 基本上我有两个这样的表:
表1:用户
id_user, name, ...
Run Code Online (Sandbox Code Playgroud)
表2:叶子
id_2, employee (the column employee is the id of the user from the first table), ...
Run Code Online (Sandbox Code Playgroud)
现在表2是空的(没有行),对于第一个表中的每个用户,我想在第二个表上创建一行,将第一个表中的id作为列雇员中的值插入,如:
表2:叶子
id employee column1 column2 column3 column4 column5
id1 1 date1 date2 integer1 integer2 string
id2 2 date1 date2 integer1 integer2 string
...
Run Code Online (Sandbox Code Playgroud)
我试过的INSERTS:
这个工作正常:
INSERT INTO entitleddays (employee, startdate, enddate, type, days, description)
VALUES (1, '2015-01-01', '2015-12-31', 3, 5, 'test');
Run Code Online (Sandbox Code Playgroud)在这里,我尝试了上面解释的内容,但它不起作用:
INSERT INTO entitleddays (employee, startdate, enddate, type, days, description)
VALUES ((SELECT id from users), '2015-01-01', …Run Code Online (Sandbox Code Playgroud)这是完整的示例代码:
CREATE TABLE testtbl (
id integer NOT NULL,
intval integer,
strval varchar(64)
);
CREATE SEQUENCE testtbl_id_seq
START WITH 1 INCREMENT BY 1
NO MINVALUE NO MAXVALUE CACHE 1;
ALTER SEQUENCE testtbl_id_seq OWNED BY testtbl.id;
ALTER TABLE ONLY testtbl ALTER COLUMN id SET DEFAULT
nextval('testtbl_id_seq'::regclass);
ALTER TABLE ONLY testtbl ADD CONSTRAINT testtbl_pkey PRIMARY KEY (id);
CREATE FUNCTION insert_testtbl (p_intval integer, p_strval varchar(64))
RETURNS integer AS $$
DECLARE
v_new_id integer;
BEGIN
INSERT INTO testtbl (intval, strval) VALUES (p_intval, p_strval)
RETURNING v_new_id; …Run Code Online (Sandbox Code Playgroud) 我在 MySQL 数据库上插入一些数据没有任何问题。现在我想再添加一列“日期”,我想默认插入插入日期。我怎样才能做到这一点?
“FbData.hbm.xml”:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.hibernate.FbData" table="dataresponse" catalog="karma">
<id name="idData" type="java.lang.Integer">
<column name="idData" />
<generator class="identity" />
</id>
<property name="likes" type="java.lang.Long">
<column name="likes" not-null="false" unique="false" />
</property>
<property name="shares" type="java.lang.Long">
<column name="shares" not-null="false" unique="false" />
</property>
<property name="time" type="string">
<column name="time" not-null="false" unique="false" />
</property>
<property name="idPage" type="string">
<column name="idPage" not-null="false" unique="false" />
</property>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
还有我的带有 getter 和 setter 的类:
public class FbData implements Serializable{
private static …Run Code Online (Sandbox Code Playgroud) 我面临着将数据从一个表插入到另一个表的问题,表结构相同,但列位置不同。
例子:
表格1:
emp1:
Name char 50
Age int
Salary Float
Run Code Online (Sandbox Code Playgroud)
表 2:
emp2:
Name char 50
Salary Float
Age int
Run Code Online (Sandbox Code Playgroud)
我的代码:
insert into emp1
select * from emp2
Run Code Online (Sandbox Code Playgroud)
我无法插入,因为一个表与另一个表的列顺序不同,但是,两个表具有相同的名称和数据类型。
我已经对此进行了研究,但还没有找到针对这种情况的特定解决方案。我有两个表,每个表在不同的数据库中。
假设它们是DB1.T1和DB2.T2。
从DB1.T1我想从两个特定列ID和Description.
DB2.T2具有相同的两列,但还有另外三列:T2.ID、Enable、Date。
一些考虑。DB2.T2 是一个 SQL Server,我一直使用 MySQL,但是这个 SQL Server 与我以前的经验有一些不一致。AUTOINCREMENT 默认条件不存在,并且在创建新记录时插入默认时间戳或日期值也不可用。
根据我的研究,我找到了一些解决方案
INSERT INTO DB2.T2(ID, Description, Enable, Code ,Date)
SELECT ID, Description
FROM DB1.T1;
Run Code Online (Sandbox Code Playgroud)
但是如何添加剩余的三列?
我正在考虑做一些 while 循环并使用允许的GETDATE()函数将增量作为 ID 插入 DB2.T2 ,但我不确定如何立即执行此操作。
我可以使用之前的 select INTO 语法并使用 INSERT INTO 来做这样的事情吗?
INSERT INTO DB2.T2(ID, Description, Enable, Code, Date)
VALUES (index,?,1,?,GETDATE())
Run Code Online (Sandbox Code Playgroud)
我现在真的很困惑。我希望你能明白我要解释的内容。
除了将数据从一个表导出到另一个表之外,我还想向其余列插入额外的数据。对于启用,我希望它始终为 1,日期为当前日期,ID 必须是一个数字,并且必须根据行递增。
你建议做什么?
同时,我会继续努力寻找类似的解决方案来解决这个问题。
提前致谢。:)
附加数据。我在远程连接上通过 VPN 工作,我所拥有的只是某种 cmd …
sql-insert ×10
database ×4
sql ×4
sql-server ×4
mysql ×3
insert ×2
postgresql ×2
c# ×1
date ×1
hibernate ×1
plpgsql ×1
subquery ×1
symbols ×1
unicode ×1